Kai*_*aha 1 c conditional-operator conditional-statements
是否可以让?:操作员处理以下示例中的多个语句?
condition ? FirstTrueExpression SecondTrueExpression : FirstFalseExpression SecondFalseExpression
Run Code Online (Sandbox Code Playgroud)
有没有办法避免指定“else”语句?
condition ? TrueExpression
Run Code Online (Sandbox Code Playgroud)
您可以使用逗号运算符,连接多个表达式。表达式从左到右求值,其结果类型和值将是右侧表达式的类型和值。
condition ? FirstTrueExpression, SecondTrueExpression : (FirstFalseExpression, SecondFalseExpression)
Run Code Online (Sandbox Code Playgroud)
请注意,您需要()周围(FirstFalseExpression, SecondFalseExpression)由于运算符优先级,而你并不需要()身边FirstTrueExpression, SecondTrueExpression。
您可以使用
condition && TrueExpression
Run Code Online (Sandbox Code Playgroud)
代替
condition ? TrueExpression
Run Code Online (Sandbox Code Playgroud)
这要归功于逻辑和运算符的短路评估&&:
当condition为 false 时,无论 的值如何,condition && TrueExpression都将为 false ( 0) TrueExpression,因此TrueExpression不会被评估。
当condition为真时,TrueExpression因为需要确定 的值而被评估condition && TrueExpression。
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |