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.

StringComparer CurrentCultureIgnoreCase 文字列が言語的な意味を持つが、大文字と小文字が区別されない場合は、プロパティによって返されるが使用されます。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次のコードに示すように、プロパティアクセサーを呼び出すたびに、 get 新しいオブジェクトが返さ 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

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