我需要停止"因为"在它自己结束之前循环。我有一个" for"在其他循环。这是我的代码(一个简单的例子):
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 10; j++)
{
if (i == 5)
{
//stop "for" cycle
}
}
}
我想停止&#34; for&#34;在没有停在外面的循环里面。 我应该使用哪个命令来管理它?
答案 0 :(得分:2)
对于一层循环,您可以使用break
。
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 10; j++)
{
if (i == 5)
{
break; // <== Exits the 'j' loop, returns control
// to the 'i' loop which continues
}
}
}
对于嵌套循环,您可能希望使用设置为中断条件的变量(例如,bool
)。看看this page,我认为C#并没有像其他语言那样指导休息。
bool keepGoing = true;
for (int i = 0; keepGoing && i < 100; i++)
{
for (int j = 0; keepGoing && j < 10; j++)
{
if (i == 5)
{
keepGoing = false; // Stops both
}
}
}
答案 1 :(得分:0)
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 10; j++)
{
if (i == 5)
{
break;
}
}
}
答案 2 :(得分:0)
您可以使用break
语句(退出最里面的循环),甚至中断到标签。就个人而言,我不喜欢后者,因为这意味着你需要维护那些使代码难以阅读的标签。
如果您需要退出精心设计的嵌套for
循环结构,请在函数中对整个事物进行编码并使用return
。然后你甚至可以返回一个值。
答案 3 :(得分:0)
你想用一个命令打破两个循环?使用转到。
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 100; j++)
{
if (i == 10 && j == 50)
goto Exit;
}
continue;
Exit:
break;
}
其他已经发布了如何打破内循环。