如果我有什么嵌套的循环,并且我想要打破所有的他们一次吗?

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;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top