而
while
運算子迭代一段程式碼,直到條件查詢等於 false 或程式碼被 goto
, return
, break
或 throw
語句中斷。
while
關鍵字的語法:
while( 條件 ){ code block; }
例:
int i = 0;
while (i++ < 5)
{
Console.WriteLine("While is on loop number {0}.", i);
}
輸出:
“雖然在迴圈編號 1 上。”
“在迴圈編號 2 上。”
“雖然在迴圈編號 3 上。”
“在迴圈編號 4 上。”
“在迴圈編號為 5 時。”
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();
}