當前位置: 妍妍網 > 碼農

C# 中的 Case 運算式:Switch 語句的深入解析

2024-05-15碼農

在 C# 程式語言中, switch 語句是一種強大的控制結構,它允許程式根據某個運算式的值進行多路分支選擇。透過 case 關鍵字,我們可以定義不同的條件分支,每個分支對應一個特定的值或值的範圍。當 switch 運算式的值匹配某個 case 標簽時,會執行相應的程式碼塊。

基礎用法

下面是一個簡單的 switch 語句範例,它根據一個整數的值來打印不同的訊息:

int number = 3;
switch (number)
{
case1:
Console.WriteLine("Number is 1");
break;
case2:
Console.WriteLine("Number is 2");
break;
case3:
Console.WriteLine("Number is 3");
break;
default:
Console.WriteLine("Number is not 1, 2, or 3");
break;
}

在這個例子中, switch 語句檢查 number 變量的值。根據該值,執行與相應 case 標簽匹配的程式碼塊。如果沒有任何 case 標簽與 number 的值匹配,則執行 default 分支。

使用範圍

除了具體的值,你還可以使用範圍來匹配 switch 運算式的值。這在處理數位或列舉等型別時特別有用。下面是一個使用範圍的 switch 語句範例:

int score = 85;
switch (score)
{
caseint n when n >= 90:
Console.WriteLine("Excellent");
break;
caseint n when n >= 80:
Console.WriteLine("Good");
break;
caseint n when n >= 60:
Console.WriteLine("Pass");
break;
default:
Console.WriteLine("Fail");
break;
}

在這個例子中,我們使用了模式匹配( case int n when ... )來定義分數的範圍。當 score 的值落在某個範圍內時,執行相應的程式碼塊。

使用列舉

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 語句根據列舉的值打印不同的訊息。

結論

C# 中的 switch 語句是一種強大的控制結構,它允許你根據運算式的值進行復雜的條件判斷。透過使用具體的值、範圍或列舉,你可以編寫出靈活且易於理解的程式碼。掌握 switch 語句的用法對於編寫高品質的 C# 程式碼至關重要。