C# で 2 つの文字列の大文字と小文字を区別せずに比較する
C# で文字列を比較する場合、多くの場合、大文字と小文字を区別しない比較が必要になります。高效进行此操作:
1 のさまざまなアプローチを検討してみましょう。 Equals with StringComparison.InvariantCultureIgnoreCase (Culture-Aware)
if (val.Equals("astringvalue", StringComparison.InvariantCultureIgnoreCase))
このアプローチでは文化的な側面が考慮され、異なる文化間で比較が大文字と小文字を区別しないことが保証されます。ただし、一般に、文化に依存しない比較よりも遅くなります。
2.直接比較による ToLower (カルチャに依存しない)
if (val.ToLowerCase() == "astringvalue")
このアプローチでは、文字列を明示的に小文字に変換してから、直接比較を実行します。カルチャを意識したアプローチよりも高速ですが、文字列にカルチャ固有の大文字と小文字の規則の影響を受ける文字が含まれている場合、予期しない結果が生じる可能性があります。
3. Equals with StringComparison.OrdinalIgnoreCase (順序比較)
if (string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase))
このアプローチでは、順序 (カルチャに依存しない) 大文字と小文字を区別しない比較が実行されます。カルチャを意識した比較よりも大幅に高速ですが、文化的な大文字と小文字の規則は無視されます。
推奨事項
効率を高めるために、StringComparison.OrdinalIgnoreCase を使用します。これは、大文字と小文字を区別しない、高速で信頼性の高い比較を提供するためです。ただし、特定のシナリオでカルチャを考慮した比較が必要な場合は、StringComparison.InvariantCultureIgnoreCase を使用した Equals メソッドの方が適切な場合があります。
以上がC# で大文字と小文字を区別せずに文字列を効率的に比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。