C# 提供了多種條件語句來控制程式的流程,根據不同條件執行不同的程式碼區塊。
if-else
最基本的條件語句,根據布林表達式的值執行不同的程式碼區塊。
基本語法
範例
if-else-if-else 多重條件
簡化寫法 (適用於簡單表達式)
三元運算子
條件運算子是 if-else 的簡化形式,適合用於簡單的條件判斷。
語法
範例
巢狀三元運算子
switch 語句
switch 語句用於根據一個變數或表達式的值,從多個可能的執行路徑中選擇一個。
基本語法
範例
多個 case 共用程式碼
switch 表達式 (C# 8.0)
比傳統 switch 語句更簡潔。
基本語法
範例
具有模式匹配的範例
Pattern Matching (C# 7.0+)
模式匹配擴展了 C# 的條件檢查能力。有以下多種寫法
1. switch
表達式(Switch Expression)
更簡潔的寫法,可替代傳統的
switch-case
。2. 型別模式(Type Pattern)+ when
條件
搭配型別判斷與額外條件。
3. 屬性模式(Property Pattern)
直接在條件中比對物件屬性。
也可搭配
switch
:4. 巢狀屬性模式(Nested Property Pattern)
可對物件內層屬性進行比對。
5. 邏輯模式(Logical Pattern)
從 C# 9 起支援
and
, or
, not
等邏輯運算。或:
6. 清單/陣列模式(List Pattern)(C# 11+)
可以比對陣列元素的模式。
7. 結合多種模式(複合應用)
Pattern Matching 可以多種搭配使用:
null 條件運算子
用於處理可能為 null 的物件。