if else和return之间有所不同

Yod*_*age 3 c# boolean-expression

我的第一个片段:

public bool isSmall(int x)
{
    if (x == 0)
    {
        return true;
    }
    else
    {
        if (x < Smallest)
        {
            return true;
        }
        else
        {
            return false;
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

我的第二个片段:

public bool isSmall(int x)
{
    if (x == 0)
    {
        return true;
    }

    if (x < Smallest)
    {
        return true;
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

我想要的if (x == 0)只是返回true,如果不做另一个比较,if (x < Smallest)如果true返回true,否则返回false.我知道我的拳头和第二个代码做同样的事情,但我想知道哪种方式写它更好,更亲切,更安全?他们有什么真正的区别吗?或者只是两种方式来写它?

Dan*_*son 6

编译器可能会将您的任一个例程优化为以下内容:

public bool IsSmall(int x)
{
   return (x == 0 || x < Smallest);
}
Run Code Online (Sandbox Code Playgroud)

要了解原因,请为每组方法写出并填写布尔真值表.