
- C# 基礎教程
- C# - 首頁
- C# - 概述
- C# - 環境
- C# - 程式結構
- C# - 基本語法
- C# - 資料型別
- C# - 型別轉換
- C# - 變數
- C# - 常量
- C# - 運算子
- C# - 決策
- C# - 迴圈
- C# - 封裝
- C# - 方法
- C# - 可空型別
- C# - 陣列
- C# - 字串
- C# - 結構體
- C# - 列舉
- C# - 類
- C# - 繼承
- C# - 多型
- C# - 運算子過載
- C# - 介面
- C# - 名稱空間
- C# - 預處理器指令
- C# - 正則表示式
- C# - 異常處理
- C# - 檔案 I/O
- C# 高階教程
- C# - 屬性
- C# - 反射
- C# - 屬性
- C# - 索引器
- C# - 委託
- C# - 事件
- C# - 集合
- C# - 泛型
- C# - 匿名方法
- C# - 不安全程式碼
- C# - 多執行緒
- C# 有用資源
- C# - 問題與解答
- C# - 快速指南
- C# - 有用資源
- C# - 討論
C# - switch 語句
switch 語句允許測試一個變數是否與一系列值相等。每個值稱為一個 case,被切換的變數會針對每個 switch case 進行檢查。
語法
C# 中 switch 語句的語法如下:
switch(expression) { case constant-expression1 : statement(s); break; case constant-expression2 : case constant-expression3 : statement(s); break; /* you can have any number of case statements */ default : /* Optional */ statement(s); }
switch 語句適用以下規則:
switch 語句中使用的表示式必須是整數型別、列舉型別,或者是一個類型別(該類具有單個轉換為整數或列舉型別的轉換函式)。
可以在一個 switch 中包含任意數量的 case 語句。每個 case 後面跟著要比較的值和一個冒號。
case 的常量表達式的資料型別必須與 switch 中的變數相同,並且必須是常量或字面量。
當被切換的變數等於某個 case 時,緊跟該 case 後面的語句將執行,直到遇到break語句。
遇到break語句時,switch 將終止,控制流程跳轉到 switch 語句後的下一行。
並非每個 case 都需要包含break。如果沒有任何break,則會引發編譯時錯誤。
switch 語句可以包含可選的default case,它必須出現在 switch 的末尾。當沒有一個 case 為真時,可以使用 default case 來執行任務。
流程圖

示例
using System; namespace DecisionMaking { class Program { static void Main(string[] args) { /* local variable definition */ 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; } Console.WriteLine("Your grade is {0}", grade); Console.ReadLine(); } } }
編譯並執行以上程式碼後,將產生以下結果:
Well done Your grade is B
csharp_decision_making.htm
廣告