打破内循环中间的两个嵌套循环
问题描述:
在C#中,假设有两个嵌套循环(每个循环可以是while循环或for循环)。 在内部循环的中间,我想打破这两个循环的,当条件为真,打破内循环中间的两个嵌套循环
loop1
{
...
loop2
{
...
(I want to break out of both loops, when some condition is true)
...
}
...
}
是否有一个更优雅的方式比
loop1
{
...
loop2
{
...
if (condition)
break
...
}
if (condition)
break
...
}
感谢。
答
把它放在一个方法和return
;
public void TheLoops()
{
while(true) {
while(true) {
if (condition) {
return;
// or change void to a type and
// return conditionResult;
}
}
}
}
我想创建一个函数与这些循环和使用'return',因为如果您在循环块后,有更多的代码,调用返回会使他们不执行,这就是为什么我把它们放在一个单独的功能。 – Alisson
这是它被普遍接受为可以使用'goto'声明的少数几次之一。虽然有其他方法可以解决问题 – Jonesopolis
@Jonesopolis我不知道这是否是完全相同的副本。一个'goto'会很好,但它也可以封装在一个函数中并返回。这是我会做的。这不是另一个问题的完全重复。 –