C# での効率的な文字列比較
文字列を比較する場合、多くの場合、大文字と小文字の違いを無視する必要があります。一般的な 2 つのアプローチは、StringComparison.InvariantCultureIgnoreCase で Equals() を使用するか、比較前に両方の文字列を小文字に変換することです。
オプション 1: Equals() と StringComparison.InvariantCultureIgnoreCase
if (val.Equals("astringvalue", StringComparison.InvariantCultureIgnoreCase))
このオプションは序数を使用しますこれは、文化を意識した比較よりも効率的であると考えられています。速度が重要な場合にお勧めします。
オプション 2: 小文字に変換
if (val.ToLowerCase() == "astringvalue")
多くの比較を実行する場合は、比較前に小文字に変換する方が高速です。同じ文字列です。これは、小文字の文字列がメモリに保存され、変換を繰り返す必要がないためです。
最適な解決策
最も効率的な選択は、特定のシナリオによって異なります。一般的な用途では、string.Equals() を StringComparison.OrdinalIgnoreCase とともに使用することをお勧めします。
if (string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase))
ただし、定数文字列と複数回比較する場合は、小文字に変換するとパフォーマンスが向上する可能性があります。
注: コードを測定してプロファイリングして、コードに最適なアプローチを決定することを忘れないでください。特定のアプリケーション。
以上がC# で大文字と小文字を区別しない文字列比較を実行する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。