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