【发布时间】:2018-02-01 17:28:29
【问题描述】:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
var entry = 0;
try {
Console.Write("Enter the number of times to print \"Yay!\": ");
var entryParsed = int.Parse(Console.ReadLine());
if (entryParsed < 0)
{
Console.Write("You must enter a positive number.");
}
else
{
entry += entryParsed;
}
}
catch (FormatException)
{
Console.Write("You must enter a whole number.");
}
var x = 0;
while (true)
{
if (x < entry)
{
Console.Write("Yay!");
x++;
}
else
{
break;
}
}
}
}
}
在最后几行代码中,我不明白 'var x' 和 while 循环的作用或代表什么。此代码示例来自 Treehouse 挑战,但“var x”如何使程序按预期工作?谢谢您的帮助! :)
【问题讨论】:
-
它将循环打印 'yay' 进入时间。 for 循环会更清晰
-
使用调试器单步调试代码,你会看到它到底做了什么。
-
x 是一个计数器,在每次打印“Yay”后递增。在 x = entry 之后,while 循环中的逻辑将强制它退出(中断)。如果您发现 while 循环逻辑有点复杂,您可以使用简单的 for 循环。
-
var x是一个隐式分配的类型计数器变量,它自动将 x 分配给类型int。 while 循环可以用这个 for 循环代替,以 (x - 1) 次打印文本:for (var x = 0; x < entry; x++).
标签: c# loops while-loop var