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

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

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-03 22:21:41683ブラウズ

How Can I Perform Case-Insensitive String Comparisons Efficiently in C#?

C# で大文字と小文字を区別せずに文字列を比較する

C# で 2 つの文字列を比較する場合、多くの場合、大文字と小文字を無視する必要があります。これは、文字列値が異なるケースで入力または保存され、誤った比較が行われる可能性があるためです。 C# には、大文字と小文字を区別しない文字列比較のためのメソッドがいくつか用意されています。

オプション 1: Equals(string, StringComparison) を使用する

大文字と小文字を区別しない比較の効率的な方法の 1 つは次のとおりです。

string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase)

このメソッドは順序比較を実行します。これは、次のようなカルチャを意識した比較よりも高速です。 StringComparison.InvariantCultureIgnoreCase.

オプション 2: ToLower() を使用する

もう 1 つの一般的な方法は、比較する前に一方または両方の文字列を小文字に変換することです。

if (val.ToLower() == "astringvalue")

このメソッドはより冗長ですが、より効率的である可能性があります。同じ文字列に対して複数の比較が行われる場合は、Equals() メソッド。

オプション 3: ToLower() と順序比較

ToLower() と順序の比較順序比較は特定のシナリオによって異なります。一般に順序比較の方が高速ですが、大文字と小文字が無視されるだけです。誤検知を引き起こす可能性のある他の文字がある場合は、ToLower() の方が適している可能性があります。

測定と最適化

最終的には、文字列の大文字と小文字を比較するための最良の方法です。測定によって鈍感に判断する必要があります。パフォーマンスは、文字列の長さ、比較の数、特定の文字の組み合わせによって異なる場合があります。最適な効率を確保するには、決定を下す前に、さまざまなアプローチをテストしてベンチマークすることをお勧めします。

以上がC# で大文字と小文字を区別しない文字列比較を効率的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。