英語で読む

次の方法で共有


StringComparer.CurrentCultureIgnoreCase プロパティ

定義

現在のカルチャの単語ベースの比較規則を使用して、大文字と小文字を区別せずに文字列を比較する StringComparer オブジェクトを取得します。

C#
public static StringComparer CurrentCultureIgnoreCase { get; }

プロパティ値

文字列比較用の新しい オブジェクト。

注釈

現在のカルチャは、現在の CultureInfo スレッドに関連付けられているオブジェクトです。プロパティによって CultureInfo.CurrentCulture 返されます。

StringComparerプロパティによって返される はCurrentCultureIgnoreCase、文字列が言語的に関連しているが、大文字と小文字が区別されない場合に使用できます。 たとえば、文字列がユーザーに表示されるが、大文字と小文字が重要でない場合は、カルチャに依存し、大文字と小文字を区別しない文字列比較を使用して文字列データを並べ替える必要があります。

注意

Linux および macOS システムでのみ実行されている .NET Core: C カルチャと Posix カルチャの照合順序の動作では、予期される Unicode 照合順序が使用されないため、常に大文字と小文字が区別されます。 カルチャに依存する、大文字と小文字を区別しない並べ替え操作を実行する場合は、C または Posix 以外のカルチャを使うことをお勧めします。

プロパティは CurrentCultureIgnoreCase 、実際には、 クラスから派生した匿名クラスのインスタンスを StringComparer 返します。

プロパティ get アクセサーをCurrentCultureIgnoreCase呼び出すたびに、次のコードに示すように、新しいStringComparerオブジェクトが返されます。

C#
private void CompareCurrentCultureInsensitiveStringComparer()
{
   StringComparer stringComparer1, stringComparer2;
   stringComparer1 = StringComparer.CurrentCultureIgnoreCase;
   stringComparer2 = StringComparer.CurrentCultureIgnoreCase;
   // Displays false
   Console.WriteLine(StringComparer.ReferenceEquals(stringComparer1, 
                                                    stringComparer2));
}

パフォーマンスを向上させるために、プロパティの値を StringComparer 複数回取得するのではなく、ローカル変数に オブジェクトを CurrentCultureIgnoreCase 格納できます。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

こちらもご覧ください