C# 提供短路版邏輯運算子,左運算元已能決定結果時不評估右運算元:
&& (邏輯 AND):左側為 `false` → 直接回傳 `false`|| (邏輯 OR):左側為 `true` → 直接回傳 `true`非短路版 &、| 會總是評估兩側,效能較差且可能導致副作用重複執行。
bool b;
// &&
b = false && true; // false (右側未評估)
b = false && false; // false
b = true && true; // true
b = true && false; // false
// ||
b = true || true; // true (右側未評估)
b = true || false; // true
b = false || true; // true
b = false || false; // false
&&、||,除非確定需要右側副作用 (極少見)短路運算在迴圈、熱路徑中可顯著減少方法呼叫與運算開銷。編譯器也會對常數摺疊進行優化。