今天在编码时突然产生一个疑问:程序中有一个while循环,循环体执行的是某个附带条件限制的操作。我现在想达到的目的是 => 条件成立,就执行操作,并跳出循环;条件不成立就跳出当次的while循环。 那么,如何跳出当次的while循环呢?
下面是伪代码:
while(true) { if(满足某条件) { //Do Something 跳出整个while循环 } else { //Do Something 跳出本次循环 } }
其实,可以用continue跳出本次的while循环。 即continue不仅可以用于for循环,在while循环中也是适用的。
用C#实现上面的伪代码:
while(true) { if(满足某条件) { //Do Something break; } else { //Do Something continue; } }
===========
下面以一个小的Demo来说明一下while中的退出,贴代码:
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没有执行到。
如果把最后一个if的判断条件改为40,则会发生什么样的结果呢?
结果是不仅仅跳出了while循环,而且退出了循环所在的方法JumpOutWhile。
总结:
在while循环中:
continue : 退出本次循环,如果循环还未结束 =>继续下一个循环;
break:退出整个的while循环;
return: 退出while循环所在的方法。
时间: 2024-10-27 06:45:56