C# 从内部循环的中间断开两个嵌套循环

C# 从内部循环的中间断开两个嵌套循环,c#,C#,在C#中,假设有两个嵌套循环(每个循环可以是while或for循环)。 在内环的中间,当条件为真时,我想打破这两个循环, loop1 { ... loop2 { ... (I want to break out of both loops, when some condition is true) ... } ... } 还有比这更优雅的方式吗 loop1 { ... loop2 {

在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
    ...
}

谢谢。

将其放入一个方法中,然后
返回

public void TheLoops() 
{
    while(true) {
        while(true) {
            if (condition) {
                return;
                // or change void to a type and
                // return conditionResult;
            }
        }
    }
}

我会用这些循环创建一个函数,并使用
return
,因为如果在循环块之后有更多的代码,调用return会使它们无法执行,这就是为什么我将它们放在一个单独的函数中。这是为数不多的几次被普遍接受的允许使用
goto
语句的情况之一。尽管还有其他方法可以解决这个问题problem@Jonesopolis我不知道这是不是真的复制品。一个
goto
就可以了,但是它也可以被包装在函数中并返回。这就是我要做的。这不是另一个问题的完全重复。