我经常在书中阅读三元运算符(?:),但我不清楚它的最佳实践。 它的优缺点或最佳实践是什么?
答案 0 :(得分:6)
三元运算符? :
表示if-then-else
构造,除了它实际返回一个值。所以而不是:
if ( condition )
x = expression1;
else
x = expression2;
你可以写:
x = (condition) ? (expression1) : (expression2);
在C,C ++,Java等中,你不能写:
x = if (condition) (expression1) else (expression2);
某些语言(如Ruby)确实允许这样的表单,但是,因为Ruby中的语句总是返回一个值,而块的值是块中最后一个语句返回的值。
答案 1 :(得分:0)
您可以将操作符用作
int nNum1 = 10, nNum2 = 20, nMax = ( nNum1 > nNum2 ) ? nNum1 : nNum2
它是简单的if-else比较的简写,其中根据比较结果分配变量。