条件 / 编程语言 / 表达式 · 2023年 10月 14日 0

条件表达式?:语句

30 次浏览

a ? b : c是if (a) b else c的缩减版。条件运算符需要3个操作数,是三元运算符。

不同条件表达式的形态

  • 大部分基于C的编程语言都支持条件表达式。C/ObjC/C++/Java/C#/PHP 等都支持 a ? b : c的形态。
  • Haskell也支持条件表达式,形式有所不同,使用if-then-else语句。

条件表达式返回不同类型

a ? b : c如果b和c的类型不同,将如何返回?默认根据a的类型,返回b和c较大的类型。

  • C# 其实也允许b和c的类型不同,只不过它们类型必须能兼容a的类型。

结合性

  • 条件表达式是右结合,? 总与右侧最近的 : 匹配。