题
如果我有什么嵌套的循环,并且我想要打破所有的他们一次吗?
while (true) {
// ...
while (shouldCont) {
// ...
while (shouldGo) {
// ...
if (timeToStop) {
break; // Break out of everything?
}
}
}
}
在PHP, break
需要一个参数的数量循环,以打破的。可以这样做C#?
什么东西可怕的,喜欢 goto
?
// In the innermost loop
goto BREAK
// ...
BREAK: break; break; break;
解决方案
取你的嵌套的循环进一功能的,然后你可以利用返回摆脱的循环,从在任何地方,而不是突破。
其他提示
介绍的另一个控制标,并把它放在你所有的套话,情况如下。也替换了while(true)条,你有,
bool keepLooping = true;
while (keepLooping) {
// ...
while (shouldCont && keepLooping) {
// ...
while (shouldGo && keepLooping) {
// ...
if (timeToStop) {
keepLooping = false;
break; // break out of everything?
}
}
}
}
Goto仅仅是可怕的时候被滥用。辍学的最内在的循环的某些筑巢是可以接受的。但是...有人要问,为什么有这么多套有在第一位。
简短的回答:没有。
如果你想要打破整个方法,然后使用的代码如下。如果你只想要打破一系列的循环内的方法而不破的方法,然后一个问题的答案,已经发表将做的工作。
if (TimeToStop)
{
return;
}
不隶属于 StackOverflow