StringComparer.CurrentCultureIgnoreCase プロパティ


現在のカルチャの単語ベースの比較規則を使用して、大文字と小文字を区別せずに文字列を比較する StringComparer オブジェクトを取得します。Gets a StringComparer object that performs case-insensitive string comparisons using the word comparison rules of the current culture.

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


文字列比較用の新しいオブジェクト。A new object for string comparison.


現在のカルチャは、現在のスレッドに関連付けられている CultureInfo オブジェクトです。これは、CultureInfo.CurrentCulture プロパティによって返されます。The current culture is the CultureInfo object associated with the current thread; it is returned by the CultureInfo.CurrentCulture property.

CurrentCultureIgnoreCase プロパティによって返される StringComparer は、文字列が言語的に関連する場合に使用できますが、大文字小文字は区別されません。The StringComparer returned by the CurrentCultureIgnoreCase property can be used when strings are linguistically relevant but their case is not. たとえば、文字列がユーザーに表示されているにもかかわらず、大文字と小文字が区別されない場合は、カルチャに依存した文字列比較を使用して文字列データを並べ替える必要があります。For example, if strings are displayed to the user but case is unimportant, culture-sensitive, case-insensitive string comparison should be used to order the string data.


Linux および macOS システム上で実行されている .NET Core のみ: C と Posix のカルチャの照合順序の動作では、大文字小文字が常に区別されます。これらのカルチャでは想定されている Unicode 照合順序が使われないためです。.NET Core running on Linux and macOS systems only: The collation behavior for the C and Posix cultures is always case-sensitive because these cultures do not use the expected Unicode collation order. カルチャに依存する、大文字と小文字を区別しない並べ替え操作を実行する場合は、C または Posix 以外のカルチャを使うことをお勧めします。We recommend that you use a culture other than C or Posix for performing culture-sensitive, case-insensitive sorting operations.

CurrentCultureIgnoreCase プロパティは、実際には StringComparer クラスから派生した匿名クラスのインスタンスを返します。The CurrentCultureIgnoreCase property actually returns an instance of an anonymous class derived from the StringComparer class.

次のコードに示すように、CurrentCultureIgnoreCase property get accessor を呼び出すたびに、新しい StringComparer オブジェクトが返されます。Each call to the CurrentCultureIgnoreCase property get accessor returns a new StringComparer object, as the following code shows.

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

パフォーマンスを向上させるには、CurrentCultureIgnoreCase プロパティの値を複数回取得するのではなく、ローカル変数に StringComparer オブジェクトを格納します。To improve performance, you can store the StringComparer object in a local variable rather than retrieve the value of the CurrentCultureIgnoreCase property multiple times.