如何通过速记"if-else"结果打破循环?

Dav*_*mar 3 c# loops if-statement break shorthand

假设我在循环中有一个简写的if-else语句,就像在这种情况下:

for(...)
{
    a = b == c ? b : c;
    // More unnecessary code if the result was true.
}
Run Code Online (Sandbox Code Playgroud)

我想通过条件的结果打破循环:

for(...)
{
    a = b == c ? b break : c;
    // Now the unnecessary code is not executed.
}
Run Code Online (Sandbox Code Playgroud)

我意识到我可以像在这个例子中那样完整地输入它:

for(...)
{
    if( b == c )
    {
        a = b;
        break;
    }
    else
    {
        a = c;
    }
    // Now the unnecessary code is not executed.
}
Run Code Online (Sandbox Code Playgroud)

但是它太长了,我试图将每一个破坏条件放在一条线上,因为它们有几个.

its*_*e86 5

您可以在不使用三元运算符的情况下使用缩短的语法,但是您尝试做的事情是不可能的.else如果您在break声明中有声明,也不需要if.

for (...)
{
    if (b == c) { a = b; break; }

    a = c;
    // More code if b does not equal c
}
Run Code Online (Sandbox Code Playgroud)