是否可以使?:
运算符处理以下示例中的几个语句?
condition ? FirstTrueExpression SecondTrueExpression : FirstFalseExpression SecondFalseExpression
有没有办法避免指定"else"语句?
condition ? TrueExpression
您可以使用逗号运算符,
来连接多个表达式。表达式是从左到右计算的,其结果类型和值将是右侧表达式的类型和值。
condition ? FirstTrueExpression, SecondTrueExpression : (FirstFalseExpression, SecondFalseExpression)
请注意,由于运算符优先级,(FirstFalseExpression, SecondFalseExpression)
周围需要()
,而FirstTrueExpression, SecondTrueExpression
周围不需要()
。
你可以使用
condition && TrueExpression
而不是
condition ? TrueExpression
这要归功于逻辑和&&
运算符的短路评估:
当condition
为假时,无论TrueExpression
的值如何,condition && TrueExpression
都将为假(0
(,因此不评估TrueExpression
当condition
为true时,会评估TrueExpression
,因为需要确定condition && TrueExpression
的值。