.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 中国語 Web サイトの他の関連記事を参照してください。