Ban*_*kin 8 .net c# labels nested-loops
当有嵌套循环时,有人能告诉我如何打破主循环吗?
例*:
/*Main loop*/
for(int y = 0; y < 100; y+=10)
{
/*Sub loop*/
for (int x = 0; x < 100; x += 10)
{
if(x == 60)
{
//Break the main loop
}
}
}
Run Code Online (Sandbox Code Playgroud)
*这段代码什么都不做,这只是一个例子
我应该把它放在"Break main loop"评论的位置?在java中有标签,我可以打破(当我将标签设置为名为"MainLoop"的主循环时,我可以写"break MainLoop;"并且它将是有效的),但我能在这做什么?
谢谢你的建议!
Cod*_*aos 10
return
通过将环插入一个单独的功能往往是可能的.goto
.使用标志来表示终止:
for(int y = 0; y < 100; y+=10)
{
bool flag = false;
for(int x = 0; x < 100; x += 10)
{
if (x == 56)
{
flag = true;
break;
}
}
if(flag) break;
}
Run Code Online (Sandbox Code Playgroud)
有人会建议我使用该goto
语句,但会遭到我的抨击,但打破多个循环是它可能非常有用(且高效)的地方之一:
/*Main loop*/
for(int y = 0; y < 100; y+=10)
{
/*Sub loop*/
for (int x = 0; x < 100; x += 10)
{
if(x == 56)
{
goto MainLoopDone;
}
}
}
MainLoopDone:
// carry on here
Run Code Online (Sandbox Code Playgroud)