C# 三元運算符

C#包含一個決策運算符 ? :,稱為條件運算符 或 三元運算符。它是 if-else 條件的縮寫。

語法:

condition ? statement 1 : statement 2

三元運算符從布爾條件開始。如果 condition 的值為true,則它將執(zhí)行?后的 statement 1 語句,否則將執(zhí)行 : 之后的第二條語句。

下面的示例演示三元運算符。

int x = 20, y = 10;

var result = x > y ? "x大于y" : "x小于y";

Console.WriteLine(result);
輸出:
x大于y

上面的條件表達式 x > y 返回true,因此 ? 之后的第一個語句將被執(zhí)行。

下面的語句執(zhí)行第二個語句。

int x = 10, y = 100;

var result = x > y ? "x大于y" : "x小于y";

Console.WriteLine(result);
輸出:
x小于y

因此,三元運算符是 if else 語句的簡稱。上面的示例可以使用 if else 條件重寫,如下所示。

int x = 10, y = 100;

if (x > y){
    Console.WriteLine("x大于y");
}else{
    Console.WriteLine("x小于y");
}
輸出:
x大于y

嵌套三元運算符

嵌套三元運算符是通過將條件表達式作為第二個語句來實現(xiàn)的。

int x = 10, y = 100;

string result = x > y ? "x大于y" : 
                    x < y ? "x小于y" : 
                        x == y ? "x等于y" : "沒有結(jié)果";

Console.WriteLine(result);

三元運算符是右關(guān)聯(lián)的。表達式 a ? b : c ? d : e 的計算結(jié)果為 a ? b : (c ? d : e),而不是 (a ? b : c) ? d : e。

var x = 2, y = 10;

var result = x * 3 > y ? x : y > z? y : z;
Console.WriteLine(result);
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清