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)
,如果真返回真,否则返回假。我知道我的第一个和第二个代码做同样的事情,但我想知道哪种方式写它是更好的,情感和安全?他们有什么真正的不同吗?还是只有两种写法?
编译器可能会将您的例程优化如下:
public bool IsSmall(int x)
{
return (x == 0 || x < Smallest);
}
要查看原因,请写出&为每组方法填写一个布尔真值表
它们做同样的事情。如果按照编写的方式直接编译代码,第二种方法可能会稍微有效一些(因为省略了else,减少了一个分支语句)。然而,所有现代的编译器都会对其进行优化,使它们完全相同。
要回答你的问题(哪个更好),哪个更容易阅读和理解,因为它们做同样的事情。
都是可读的,只是角度不同。
第一个更安全,因为可读性更强(可读性是指你可以更容易地在脑海中阅读和演示)
我通常使用第二个,它看起来更干净(似乎更易读,但更复杂的理解)
可读性;对于少量的if-else,第一个更好,但对于大量的if-else(如10),第二个更好。