Different between if else and return

本文关键字:and return else if between Different | 更新日期: 2023-09-27 17:49:15

我的第一个代码片段:

public bool isSmall(int x)
{
    if (x == 0)
    {
        return true;
    }
    else
    {
        if (x < Smallest)
        {
            return true;
        }
        else
        {
            return false;
        }
     }
}

第二个代码片段:

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

我想要的是if (x == 0)只返回真,如果不做另一个比较,if (x < Smallest),如果真返回真,否则返回假。我知道我的第一个和第二个代码做同样的事情,但我想知道哪种方式写它是更好的,情感和安全?他们有什么真正的不同吗?还是只有两种写法?

Different between if else and return

编译器可能会将您的例程优化如下:

public bool IsSmall(int x)
{
   return (x == 0 || x < Smallest);
}

要查看原因,请写出&为每组方法填写一个布尔真值表

它们做同样的事情。如果按照编写的方式直接编译代码,第二种方法可能会稍微有效一些(因为省略了else,减少了一个分支语句)。然而,所有现代的编译器都会对其进行优化,使它们完全相同。

要回答你的问题(哪个更好),哪个更容易阅读和理解,因为它们做同样的事情。

都是可读的,只是角度不同。

第一个更安全,因为可读性更强(可读性是指你可以更容易地在脑海中阅读和演示)

我通常使用第二个,它看起来更干净(似乎更易读,但更复杂的理解)

可读性;对于少量的if-else,第一个更好,但对于大量的if-else(如10),第二个更好。