C#中的一般多回报声明问题

Nan*_* HE 3 c# return

如果我不需要命中block2,如何返回值.

它有意义吗?我想我不应该使用multi return,但我无法替换它break.有没有封闭循环外面中断或继续.

public EnResult MyFun()
{
    bool bRet = default;

    // block1 . higher priority than block2.
    if (true)
    {
    // if bRet = true_1, not need hit block2. That's why I want to nested my code with multi *return*
        return bRet = true_1;  
    }
    else
    {
        // do nothing
    }

    // block2
    if (true)
    {
        return bRet = true_2;
    }
    else
    {
        // do nothing
    }

    return bRet;
}

public enum EnResult
{
    true_1,
    true_2,
    false_1,
    false_2,
    default,
}
Run Code Online (Sandbox Code Playgroud)

cdh*_*wie 10

每种方法使用多个return语句根本不是很差的编码风格.将自己限制为一个return语句在C中是有意义的,您可能需要goto一些常用的清理代码来释放指针等,然后返回存储在变量中的值.但在C#中,这不是必需的.

我一直用多个return语句编写方法.我更愿意阅读一个用多个return语句编写的方法,其中逻辑流是明确的,而不是读取一个用一个return语句编写的方法和一些模糊的逻辑.