Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# int列表不会显示在控制台应用程序中 我来自C++背景,用它创建基本的2D游戏,但我试图教我自己C点,在那里我可以使用它获得最基本的工作。我不在学校,但我正在关注ProjectEuler.net上的问题_C# - Fatal编程技术网

C# int列表不会显示在控制台应用程序中 我来自C++背景,用它创建基本的2D游戏,但我试图教我自己C点,在那里我可以使用它获得最基本的工作。我不在学校,但我正在关注ProjectEuler.net上的问题

C# int列表不会显示在控制台应用程序中 我来自C++背景,用它创建基本的2D游戏,但我试图教我自己C点,在那里我可以使用它获得最基本的工作。我不在学校,但我正在关注ProjectEuler.net上的问题,c#,C#,问题被注释到代码中。我无法判断我是否解决了这个问题,因为我无法将列表中的数字显示到控制台应用程序中 我已经尝试使用console.WriteLine直接从变量值写入console,但是我没有任何运气。我还尝试将所有int列表值转换为字符串值并显示它们,但这也不起作用。 我不是在寻找第四个问题的答案,只是想显示列表,这样我就可以自己找到答案 为什么我不能将列表写入控制台 感谢您的帮助 static void Main(string[] args) { /*

问题被注释到代码中。我无法判断我是否解决了这个问题,因为我无法将列表中的数字显示到控制台应用程序中

我已经尝试使用console.WriteLine直接从变量值写入console,但是我没有任何运气。我还尝试将所有int列表值转换为字符串值并显示它们,但这也不起作用。 我不是在寻找第四个问题的答案,只是想显示列表,这样我就可以自己找到答案

为什么我不能将列表写入控制台

感谢您的帮助

 static void Main(string[] args)
        {
            /* A palindromic number reads the same both ways. 
             * The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
                    Find the largest palindrome made from the product of two 3-digit numbers. */
            // 100 x 100 = 10000
            // 999 x 999 = 998001

        List<int> palindromeContainer = new List<int>();
        int Increment = 2;
        int Holder = 0;
        for (int i = 100; i <= 999; ++i)
        {
            int j = i;
            while (j <= 999)
            {
                do
                {      Holder = i * j; // Gets all Possible Combinations of i * j          

                    if ((Holder % Increment) != 0) // Checks for Prime Numbers 
                    {
                        ++Increment;
                    }
                    else if (Increment == Holder - 1 && Holder % Increment != 0 )
                    {
                        palindromeContainer.Add(Holder);
                        Increment = 2;
                        break;
                    }
                    else if (Increment == Holder - 1 && Holder % Increment == 0)
                    { 
                        Increment = 2;
                        break;
                    }
                } while (Increment < Holder);
                ++j;
            }
        }
        palindromeContainer.Sort();
        foreach (int line in palindromeContainer)
        {
            Console.WriteLine(line);  // Display  all items in list
        }

首先,注释出您的循环逻辑并进行测试,但不包括:

List<int> palindromeContainer = new List<int>();
palindromeContainer.Add(2);
palindromeContainer.Add(1);
palindromeContainer.Sort();
foreach (int line in palindromeContainer)
{
    Console.WriteLine(line);  // Display  all items in list
}
Console.ReadLine();

这将输出到控制台。然后,您就会知道这是可行的,控制台输出不是问题。

您是否在调试器中运行了代码,并检查了它是否达到了您认为的效果?您的控制台输出代码很好。我不认为回文容器包含任何内容。听起来你的回文容器可能没有像你想的那样填充。我只是运行了你的代码,你的if-else条件从未满足过。看起来您的do while卡在一个无限循环中。您将增量设置为2,将Holder设置为0,那么您的if条件中就有Holder%Increment!=0和Increment==Holder-1,两者都不是真的,因此循环中的代码都不会执行。然后循环退出,因为Increment