C#嵌套三元运算符的执行顺序及返回值求解
嵌套三元运算符的执行逻辑与结果计算
1. 核心规则:优先级与结合性
咱们先把关键规则理清楚,这是理解嵌套三元运算的基础:
- 比较运算符(
>)优先级更高:所有像a > 5、a > 10这类比较操作,会优先于三元运算符(?:)执行,不用等三元判断的分支逻辑。 - 三元运算符是右结合的:嵌套的三元表达式会从右往左分组,你的代码会被编译器自动解析成这种结构:
a > 5 ? (a > 10 ? 10 : 5) : 0
2. 逐步拆解执行过程(给定int a = 100)
咱们一步步走,把逻辑拆透:
- 第一步:先算所有比较结果
a > 5:100大于5,结果为truea > 10:100大于10,结果为true
- 第二步:执行外层三元判断
因为a > 5是true,所以进入冒号前的内层三元表达式分支。 - 第三步:执行内层三元判断
因为a > 10也是true,所以直接取这个分支的第一个返回值10。
3. 最终结果
变量b的返回值是10。
内容的提问来源于stack exchange,提问作者kravien
相关产品推荐
相关产品推荐

