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

C# 運算子精要:短路邏輯與條件判斷效能

     編輯:關於C語言

短路邏輯運算子

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

實務守則

  1. 永遠優先使用 &&、||,除非確定需要右側副作用 (極少見)
  2. 搭配 防禦性程式設計:`if (obj != null && obj.IsValid())` — 避免 `NullReferenceException`
  3. 複雜條件提取為具名方法/屬性,提升可讀性

效能影響

短路運算在迴圈、熱路徑中可顯著減少方法呼叫與運算開銷。編譯器也會對常數摺疊進行優化。

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