一种选择是使用条件标志。然后,您也可以在外部循环中中断,或者只是将其用作循环中的额外条件:for
bool keepGoing = true;
for (int col = 0; col < 8 && keepGoing; col++)
{
for (int row = 0; row < 8 && keepGoing; row++)
{
if (something)
{
// Do whatever
keepGoing = false;
}
}
}
在Java中,您可以指定要断开的标签。(我没有看到这个问题被标记为Java和C#。
outerLoop:
for (...)
{
for (...)
{
if (...)
{
break outerLoop;
}
}
}
编辑:如注释中所述,在C#中,您可以使用标签和:goto
for (...)
{
for (...)
{
if (...)
{
goto endOfLoop;
}
}
}
endOfLoop:
// Other code
我真的建议你不要采取这两种方法中的任何一种。
在这两种语言中,通常最好简单地将两个循环转换为单个方法 - 然后您可以从该方法返回:
public void doSomethingToFirstOccurrence()
{
for (...)
{
for (...)
{
if (...)
{
return;
}
}
}
}