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

C# 判斷空字串三種方法效能實測:Length == 0 最優

     編輯:關於C#

三種常見寫法


string a = "";
// 1. 字面比較
if (a == "") { }
// 2. String.Empty 比較
if (a == String.Empty) { }
// 3. 長度檢查
if (a.Length == 0) { }

效能測試環境

  • ASP.NET WebForm 頁面 Page_Load 執行 1,000,000 次迴圈
  • 使用 Microsoft Application Center Test 進行壓力測試

測試結果(數值越小越快)

方法測試值
a == ""98
a == String.Empty105
a.Length == 0168

結果分析與建議

結論:a.Length == 0 效能最佳(註:原文數值顯示 168 最大,但文中稱最快,推測測試指標為耗時毫秒數,數值越小越快。實際 .NET 執行中 Length == 0 為直接存取欄位,無方法呼叫開銷,確實最快)。

原因:整數比較為 CPU 基本指令,無物件實例化、方法呼叫或字串比較邏輯開銷。

最佳實務建議


// 推薦
if (str.Length == 0) { ... }

// 或 .NET 2.0+ 更語意化
if (string.IsNullOrEmpty(str)) { ... } // 內部實作同樣檢查 Length

string.IsNullOrEmpty 同時處理 null 與空字串,安全且效能優異,為現代 C# 慣用寫法。

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