今天在编码时突然产生一个疑问:程序中有一个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 = ;
while (true)
{
i++; if (i % == )
{
continue;
} if (i == )
{
break;
} if (i == )
{
//跳出while所在的方法
//但是前面在i=50时,已经跳出while循环 => 不会执行该句
return;
} Console.WriteLine(i);
}
}
}
结果:凡是9的倍数都未打印;50也未打印;return没有执行到。
如果把最后一个if的判断条件改为40,则会发生什么样的结果呢?
结果是不仅仅跳出了while循环,而且退出了循环所在的方法JumpOutWhile。
总结:
在while循环中:
continue : 退出本次循环,如果循环还未结束 =>继续下一个循环;
break:退出整个的while循环;
return: 退出while循环所在的方法。