是否有可能continue
or break
拥有比当前运行的循环更大的范围?
在下面的示例中,我希望在以下情况下继续执行外部 for 循环:expr
是 true,尽管它是在内部 for 循环中调用的,因此两者都不是[some inner code]
nor [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]
}
在上面的
您可以使用goto
如果你绝对必须的话。但是,我通常采用以下两种方法之一:
- 使内部循环成为一个单独的方法返回
bool
,所以我可以从它返回并指示外循环应该做什么(中断、继续或执行循环体的其余部分)
- 单独保留一个
bool
在内循环之前设置的标志可以修改within内循环,然后检查after内循环
在这些方法中我一般来说更喜欢“提取方法”方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)