continue
或break
有没有可能比当前运行的循环有更大的作用域?
在以下示例中,我希望在expr
为true时继续外部for-loop,尽管它在内部for循环中调用,以便既不执行[some inner code]
也不执行[some outer code]
。继续并以扩展范围破坏
for(int outerCounter=0;outerCounter<20;outerCounter++){
for(int innerCounter=0;innerCounter<20;innerCounter++){
if(expr){
[continue outer]; // here I wish to continue on the outer loop
}
[some inner code]
}
[some outer code]
}
在上面
它不会因为runOuter将是真实,[一些外码]只运行,如果runOuter是假的。这不是你想要的逻辑吗? – tzup 2011-02-14 13:50:14
+1是的,谢谢,这是Jon Skeets发布的第二个版本。然而,我之前的评论与你的第一个答案没有解决问题有关。我删除了我的评论。 – HCL 2011-02-14 13:53:57
@HCL,我刚刚意识到这一点。这很奇怪,你能看到这篇文章,因为我试图快速删除它,当我意识到我的错误,并发布更好的答案。无论如何,乔恩完全值得这个答案。 – tzup 2011-02-14 13:58:05