条件运算符(? :)将简单的(if-else)逻辑嵌套入单个表达式当中。
cond ? expr1 : expr2 // 条件运算符的格式
其中 cond为判断的表达式,expr1和expr2为两个类型相同或者可能为某个公共类型的表达式。当cond为真是,对expr1求值,并返回该值;否则对expr2求值,并返回该值。
例如:
string finalgrade= grade < 60 ? "fail" : "pass"; // 如果grade < 60 返回pass 否则返回 pass
条件运算符可以进行嵌套,如下:
string finalgrade= grade > 90 ? "high pass" : grade < 60 ? "fail" : "pass";
// 如果grade > 90 返回high pass, 60 < grade < 90 返回 pass, grade < 60 返回fail
注意:条件运算符的优先级非常低,如果和其他表达式配和使用时,通常需要两端加括号。