首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Visual C# 2005 快速入門:switch 語句語法與改寫 if-else 鏈(一)

     編輯:關於C語言

何時該用 switch 取代巢狀 if?

當多個 if-else if 皆針對同一運算式比對不同常數值時,程式碼冗長且難維護。典型範例:


if (day == 0) dayName = "Sunday";
else if (day == 1) dayName = "Monday";
else if (day == 2) dayName = "Tuesday";
else if (day == 3) dayName = "Wednesday";
// ...
else dayName = "Unknown";

switch 語法結構


switch (controllingExpression)
{
    case constantExpression1:
        statements;
        break;
    case constantExpression2:
        statements;
        break;
    // ...
    default:
        statements;
        break;
}
  • controllingExpression:控制運算式,只求值一次。
  • case constantExpression:編譯期常數 (整數、字元、字串、enum 等)。
  • break:離開 switch;若省略會「貫穿」執行下一個 case (C# 不允許隱式貫穿,必須明確 goto case 或 break)。
  • default:無匹配 case 時執行,可選。

改寫範例:星期名稱對應


switch (day)
{
    case 0: dayName = "Sunday"; break;
    case 1: dayName = "Monday"; break;
    case 2: dayName = "Tuesday"; break;
    case 3: dayName = "Wednesday"; break;
    case 4: dayName = "Thursday"; break;
    case 5: dayName = "Friday"; break;
    case 6: dayName = "Saturday"; break;
    default: dayName = "Unknown"; break;
}

執行流程說明

  1. 計算 day 值。
  2. 由上而下比對 case 常數。
  3. 匹配成功 → 執行該區塊語句 → 遇 break 跳出 switch。
  4. 全無匹配 → 執行 default (若存在) → 結束。

C# switch 支援 string 型別比對 (不區分大小寫需自行 ToLower()),且不允許隱式貫穿,比 C/C++ 更安全。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved