switch 語句
switch 語句允許測試變數與值列表的相等性。每個值稱為一個案例,並檢查每個開關案例接通的變數。
在測試單個變數的多個可能值時,switch
語句通常比 if...else if... else..
語句更簡潔和易懂。
語法如下
switch(expression) {
case constant-expression:
statement(s);
break;
case constant-expression:
statement(s);
break;
// you can have any number of case statements
default : // Optional
statement(s);
break;
}
使用 switch 語句時需要考慮的各種事情
- switch 語句中使用的表示式必須具有整數或列舉型別,或者是類型別,其中類具有單個轉換函式為整數或列舉型別。
- 你可以在交換機中包含任意數量的 case 語句。每個案例後跟要與之比較的值和冒號。要比較的值必須在每個 switch 語句中是唯一的。
- switch 語句可以有一個可選的預設情況。當沒有任何情況為真時,預設情況可用於執行任務。
- 每個案例都必須以
break
語句結束,除非它是一個空語句。在這種情況下,執行將繼續在它下面的情況下。當使用return
,throw
或goto case
語句時,也可以省略 break 語句。
可以按等級給出示例
char grade = 'B';
switch (grade)
{
case 'A':
Console.WriteLine("Excellent!");
break;
case 'B':
case 'C':
Console.WriteLine("Well done");
break;
case 'D':
Console.WriteLine("You passed");
break;
case 'F':
Console.WriteLine("Better try again");
break;
default:
Console.WriteLine("Invalid grade");
break;
}