一尘不染

使用条件?:(三元)运算符的好处

c#

与标准的if-else语句相反,?:运算符的优缺点是什么?显而易见的是:

条件?:运算符

  • 处理直接值比较和赋值时更短,更简洁
  • 似乎不如if / else构造灵活

标准If / Else

  • 可以应用于更多情况(例如函数调用)
  • 经常不必要地长

每种陈述的可读性似乎各不相同。在第一次接触?:运算符之后的一小段时间里,我花了一些时间来确切地了解它是如何工作的。如果我与许多非程序员一起工作,您是否建议尽可能使用它,还是坚持使用?


阅读 276

收藏
2020-05-19

共1个答案

一尘不染

我基本上建议仅在结果语句非常短并且比if / else等效项的简洁性显着提高而又不牺牲可读性的情况下,才使用它。

好的例子:

int result = Check() ? 1 : 0;

错误的例子:

int result = FirstCheck() ? 1 : SecondCheck() ? 1 : ThirdCheck() ? 1 : 0;
2020-05-19