【发布时间】:2011-03-19 18:33:36
【问题描述】:
与标准 if-else 语句相比,?: 运算符的优点和缺点是什么。显而易见的是:
条件 ?:运算符
- 在处理直接值比较和赋值时更短更简洁
- 似乎不如 if/else 结构灵活
标准 If/Else
- 可应用于更多情况(如函数调用)
- 通常过长
每个语句的可读性似乎有所不同。在第一次接触 ?: 运算符后的一段时间,我花了一些时间来消化它是如何工作的。鉴于我与许多非程序员一起工作,您会建议尽可能使用它,还是坚持使用 if/else?
【问题讨论】:
-
您已经掌握了要点。
-
@Nicholas Knight:我猜 OP 意味着你不能这样做,例如,
SomeCheck() ? DoFirstThing() : DoSecondThing();——你必须使用表达式来返回一个值。 -
在清晰的地方使用它,如果不是,请坚持使用 if/else。代码清晰度应该是您的主要考虑因素。
-
你见过'??'然而?说真的,如果你认为三元组很酷......
-
+1 因为不像很多人那样简单地称它为“三元运算符”。尽管它是 C# 中唯一的三元(相对于一元和二元)运算符,但这并不是它的名字。