首頁 > 後端開發 > C++ > 如何在.NET中高效率地執行不區分大小寫的字串比較?

如何在.NET中高效率地執行不區分大小寫的字串比較?

DDD
發布: 2025-01-19 12:56:10
原創
676 人瀏覽過

How to Perform Case-Insensitive String Comparisons in .NET Efficiently?

.NET中的大小寫不敏感字串比較

在許多程式設計任務中,進行大小寫不敏感的字串比較至關重要。本文將深入探討如何有效率地處理這個問題。

目標是讓以下程式碼行忽略大小寫:

<code>drUser["Enrolled"] = (enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1);</code>
登入後複製

使用Equals方法和StringComparison.OrdinalIgnoreCase看似可行:

<code>x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));</code>
登入後複製

然而,在FindIndex表達式中使用此方法並沒有產生預期的結果。

主要問題在於使用了x.Username.Equals。雖然此方法可以在內部處理大小寫不敏感的比較,但它不會傳回符合元素的索引。

.NET大小寫不敏感字串比較的最佳實踐

為了在.NET中正確執行大小寫不敏感的字串比較,建議使用String.Compare方法和StringComparison.OrdinalIgnoreCase

<code>String.Compare(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase) == 0</code>
登入後複製

或者,可以使用String.Equals方法和StringComparison.OrdinalIgnoreCase標誌:

<code>String.Equals(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase)</code>
登入後複製

MSDN建議分別使用這些方法來測試字串相等性和對字串進行排序:

  • String.Equals: 用來測試相等性
  • String.CompareString.CompareTo: 用來排序

以上是如何在.NET中高效率地執行不區分大小寫的字串比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板