今天在編碼時忽然產生一個疑問:程序中有一個while循環,循環體執行的是某個附帶條件限制的操做。我如今想達到的目的是 => 條件成立,就執行操做,並跳出循環;條件不成立就跳出當次的while循環。 那麼,如何跳出當次的while循環呢?編碼
下面是僞代碼:spa
while(true) { if(知足某條件) { //Do Something 跳出整個while循環 }
else { //Do Something 跳出本次循環 } }
其實,能夠用continue跳出本次的while循環。 即continue不只能夠用於for循環,在while循環中也是適用的。code
用C#實現上面的僞代碼:blog
while(true) { if(知足某條件) { //Do Something break; } else { //Do Something continue; } }
===========string
下面以一個小的Demo來講明一下while中的退出,貼代碼:it
class Program { static void Main(string[] args) { JumpOutWhile(); } private static void JumpOutWhile() { int i = 0; while (true) { i++; if (i % 9 == 0) { continue; } if (i == 50) { break; } if (i == 100) { //跳出while所在的方法 //可是前面在i=50時,已經跳出while循環 => 不會執行該句 return; } Console.WriteLine(i); } } }
結果:凡是9的倍數都未打印;50也未打印;return沒有執行到。for循環
若是把最後一個if的判斷條件改成40,則會發生什麼樣的結果呢?class
結果是不單單跳出了while循環,並且退出了循環所在的方法JumpOutWhile。循環
總結:程序
在while循環中:
continue : 退出本次循環,若是循環還未結束 =>繼續下一個循環;
break:退出整個的while循環;
return: 退出while循環所在的方法。