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 語句結束,除非它是一個空語句。在這種情況下,執行將繼續在它下面的情況下。當使用 returnthrowgoto 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;
}