三元或不三元?
我个人是三元运算符的倡导者:()? :; 我确实意识到它有它的位置,但我遇到了许多完全反对使用它的程序员,而且有些使用它的人经常使用它。
你对此有何感想? 你看过什么有趣的代码?
仅用于简单表达式 :
int a = (b > 10) ? c : d;
不要链接或嵌套三元运营商,因为它很难阅读和混淆:
int a = b > 10 ? c < 20 ? 50 : 80 : e == 2 ? 4 : 8;
此外,使用三元运算符时,请考虑以提高可读性的方式对代码进行格式化:
int a = (b > 10) ? some_value
: another_value;
由于不能在每个子表达式上放置断点,因此它使调试稍微困难一些。 我很少使用它。
我喜欢它们,特别是在类型安全的语言中。
我不明白这是怎么回事:
int count = (condition) ? 1 : 0;
比这更难:
int count;
if (condition)
{
count = 1;
}
else
{
count = 0;
}
编辑 -
我认为三元运营商使得一切都不那么复杂,而且比替代方案更为简洁。
链接地址: http://www.djcxy.com/p/42859.html