while 运算符迭代一段代码,直到条件查询等于 false 或代码被 gotoreturnbreakthrow 语句中断。

while 关键字的语法:

while( 条件 ){ code block; }

例:

int i = 0;
while (i++ < 5)
{
    Console.WriteLine("While is on loop number {0}.", i);
}

输出:

“虽然在循环编号 1 上。”
“在循环编号 2 上。”
“虽然在循环编号 3 上。”
“在循环编号 4 上。”
“在循环编号为 5 时。”

Live Demo on .NET Fiddle

while 循环是 Entry Controlled ,因为在执行封闭的代码块之前检查条件。这意味着如果条件为 false,while 循环将不会执行其语句。

bool a = false;

while (a == true)
{
    Console.WriteLine("This will never be printed.");
}

提供 while 条件而不将其设置为在某些时候变为假,将导致无限或无限循环。应尽可能避免这种情况,但是,当你需要时,可能会出现一些特殊情况。

你可以创建如下循环:

while (true)
{
//...
}

请注意,C#编译器将转换诸如的循环

while (true)
{
// ...
}

要么

for(;;)
{
// ...
}

{
:label
// ...
goto label;
}

请注意,while 循环可以具有任何条件,无论多么复杂,只要它计算(或返回)布尔值(bool)。它还可以包含一个返回布尔值的函数(因为这样的函数的计算结果与表达式相同,例如`a == x’)。例如,

while (AgriculturalService.MoreCornToPick(myFarm.GetAddress()))
{
    myFarm.PickCorn();
}