C# 选择语句

来源:百度知道 编辑:UC知道 时间:2024/05/18 10:22:17
string a=(sex == 1) ? "男" : ((sex == 2) ? "女" : "未知");
能说说语法吗?
意思我明白,1为男,2为女,其他为未知。

A=B?C:(D?E:F)这就是两个 A=B?C:D式的嵌套
B?C:D的意思就是B为真则C,B为假,则D

等效
if(sex == 1)
{
retrun "男" ;
}
else
{
if(sex == 2)
{
retrun "女" ;
}
else
{ retrun "未知");
}
}

属于多目运算 :
a?b:c
如果 a正确 则返回 b 否则 返回c

参考运算符的结合性 将运算分解 就可以很清楚的计算了
(sex == 1) ? "男" : ((sex == 2) ? "女" : "未知");

?的结合从左到右
把((sex == 2) ? "女" : "未知")看成一个整体
如果 (sex == 1) 返回 男
如果不是 (sex == 1) 则 返回 ((sex == 2) ? "女" : "未知")
而对于 ((sex == 2) ? "女" : "未知")
如果 (sex == 2) 则 返回 女
如果不是 返回 未知
故 1为男,2为女,其他为未知。

((sex == 2) ? "女" : "未知");

先做了个这个判断.... 假使结果为 B

在做这个判断(sex == 1) ? "男" : B

这个叫做3目运算符

<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为