.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建議分別使用這些方法來測試字串相等性和對字串進行排序:
以上是如何在.NET中高效率地執行不區分大小寫的字串比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!