次の方法で共有


StringComparer.CurrentCultureIgnoreCase プロパティ

定義

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

public:
 static property StringComparer ^ CurrentCultureIgnoreCase { StringComparer ^ get(); };
public static StringComparer CurrentCultureIgnoreCase { get; }
static member CurrentCultureIgnoreCase : StringComparer
Public Shared ReadOnly Property CurrentCultureIgnoreCase As StringComparer

プロパティ値

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

注釈

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

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

Note

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

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

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

private void CompareCurrentCultureInsensitiveStringComparer()
{
   StringComparer stringComparer1, stringComparer2;
   stringComparer1 = StringComparer.CurrentCultureIgnoreCase;
   stringComparer2 = StringComparer.CurrentCultureIgnoreCase;
   // Displays false
   Console.WriteLine(StringComparer.ReferenceEquals(stringComparer1, 
                                                    stringComparer2));
}
let compareCurrentCultureInsensitiveStringComparer () =
    let stringComparer1 = StringComparer.CurrentCultureIgnoreCase
    let stringComparer2 = StringComparer.CurrentCultureIgnoreCase
    // Displays false
    printfn $"{StringComparer.ReferenceEquals(stringComparer1, stringComparer2)}"
Private Sub CompareCurrentCultureInsensitiveStringComparers()
   Dim stringComparer1, stringComparer2 As StringComparer
   stringComparer1 = StringComparer.CurrentCultureIgnoreCase
   stringComparer2 = StringComparer.CurrentCultureIgnoreCase
   ' Displays False
   Console.WriteLine(StringComparer.ReferenceEquals(stringComparer1, _
                                                    stringComparer2))
End Sub

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

適用対象

こちらもご覧ください