ホームページ > バックエンド開発 > C++ > C# で大文字と小文字を区別せずに文字列を効率的に比較するにはどうすればよいですか?

C# で大文字と小文字を区別せずに文字列を効率的に比較するにはどうすればよいですか?

DDD
リリース: 2025-01-03 03:19:40
オリジナル
758 人が閲覧しました

How to Efficiently Compare Strings Case-Insensitively in C#?

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート