// if-else
if (condition) { } else { }
// switch (支援字串、型別模式 C# 7+)
switch (value)
{
case "A": ... break;
case "B": ... break;
default: ... break;
}
// switch 表達式 (C# 8+)
var result = value switch
{
"A" => 1,
"B" => 2,
_ => 0
};
Case 標籤必須為常數 (const、常值),不能是變數:
const string S1 = "bb";
const string S2 = "ccc";
foreach (var s in new[] { "a", "bb", "ccc" })
{
switch (s)
{
case S1: Console.WriteLine(s.Length); break;
case S2: Console.WriteLine(s.Length); break;
default: Console.WriteLine(s); break;
}
}
| 語句 | 特點 |
|---|---|
| 先判斷再執行,可能零次 | |
| 先執行再判斷,至少一次 | |
| 計數器迴圈首選 | |
| 遍歷集合/陣列,唯讀 |
break:離開最近的迴圈/switchcontinue:跳過本次迴圈剩餘,進入下一次判斷goto label;:慎用,易產生義大利麵程式碼return:離開方法throw:拋出例外