C# 中的 Case 表達(dá)式:Switch 語句的深入解析
在 C# 編程語言中,switch 語句是一種強(qiáng)大的控制結(jié)構(gòu),它允許程序根據(jù)某個表達(dá)式的值進(jìn)行多路分支選擇。通過 case 關(guān)鍵字,我們可以定義不同的條件分支,每個分支對應(yīng)一個特定的值或值的范圍。當(dāng) switch 表達(dá)式的值匹配某個 case 標(biāo)簽時,會執(zhí)行相應(yīng)的代碼塊。
基礎(chǔ)用法
下面是一個簡單的 switch 語句示例,它根據(jù)一個整數(shù)的值來打印不同的消息:
int number = 3;
switch (number)
{
case 1:
Console.WriteLine("Number is 1");
break;
case 2:
Console.WriteLine("Number is 2");
break;
case 3:
Console.WriteLine("Number is 3");
break;
default:
Console.WriteLine("Number is not 1, 2, or 3");
break;
}
在這個例子中,switch 語句檢查 number 變量的值。根據(jù)該值,執(zhí)行與相應(yīng) case 標(biāo)簽匹配的代碼塊。如果沒有任何 case 標(biāo)簽與 number 的值匹配,則執(zhí)行 default 分支。
使用范圍
除了具體的值,你還可以使用范圍來匹配 switch 表達(dá)式的值。這在處理數(shù)字或枚舉等類型時特別有用。下面是一個使用范圍的 switch 語句示例:
int score = 85;
switch (score)
{
case int n when n >= 90:
Console.WriteLine("Excellent");
break;
case int n when n >= 80:
Console.WriteLine("Good");
break;
case int n when n >= 60:
Console.WriteLine("Pass");
break;
default:
Console.WriteLine("Fail");
break;
}
在這個例子中,我們使用了模式匹配(case int n when ...)來定義分?jǐn)?shù)的范圍。當(dāng) score 的值落在某個范圍內(nèi)時,執(zhí)行相應(yīng)的代碼塊。
使用枚舉
switch 語句也常用于處理枚舉類型的值。下面是一個使用枚舉的 switch 語句示例:
enum Color { Red, Green, Blue }
Color myColor = Color.Green;
switch (myColor)
{
case Color.Red:
Console.WriteLine("The color is red");
break;
case Color.Green:
Console.WriteLine("The color is green");
break;
case Color.Blue:
Console.WriteLine("The color is blue");
break;
}
在這個例子中,我們定義了一個名為 Color 的枚舉,并使用 switch 語句根據(jù)枚舉的值打印不同的消息。
結(jié)論
C# 中的 switch 語句是一種強(qiáng)大的控制結(jié)構(gòu),它允許你根據(jù)表達(dá)式的值進(jìn)行復(fù)雜的條件判斷。通過使用具體的值、范圍或枚舉,你可以編寫出靈活且易于理解的代碼。掌握 switch 語句的用法對于編寫高質(zhì)量的 C# 代碼至關(guān)重要。