c# - 使用条件语句的好处 ? : (ternary) operator

标签 c# conditional-operator

与标准 if-else 语句相比,?: 运算符有哪些优点和缺点。最明显的是:

条件?:运算符

  • 处理直接值比较和赋值时更短、更简洁
  • 似乎不像 if/else 结构那么灵活

标准 If/Else

  • 可以应用到更多的情况(比如函数调用)
  • 通常过长

可读性似乎因声明而异。在第一次接触 ?: 操作符之后的一段时间里,我花了一些时间来理解它到底是如何工作的。鉴于我与许多非程序员一起工作,您是否建议尽可能使用它,或者坚持使用 if/else?

最佳答案

我基本上建议仅当结果语句非常短并且与 if/else 等价物相比简洁性显着增加且不牺牲可读性时才使用它。

很好的例子:

int result = Check() ? 1 : 0;

坏例子:

int result = FirstCheck() ? 1 : SecondCheck() ? 1 : ThirdCheck() ? 1 : 0;

关于c# - 使用条件语句的好处 ? : (ternary) operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42878009/

相关文章:

c# - 聚合 RSS 阅读器因 XML 无效而失败?

javascript - 自动用 if/else 替换条件运算符?

jsf - EL 条件方法表达式

neo4j - 非运算符查询密码 Neo4j

C++ 如果条件运算符保持关联会怎样

c# - 在dragablz :TabablzControl wpf mvvm的所有其他选项卡中显示的另一个选项卡中具有相似长度的文本框的虚线

c# - 将图像从 C# 保存到 SQL Server 数据库

c# - C# 的部分类是糟糕的设计吗?

javascript - 在条件运算符中运行代码是否安全?

c# - 文件流 - 文件名、目录名或卷标语法不正确