StringComparer.CurrentCultureIgnoreCase Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a StringComparer object that performs case-insensitive string comparisons using the word comparison rules of the current culture.
public:
static property StringComparer ^ CurrentCultureIgnoreCase { StringComparer ^ get(); };
public static StringComparer CurrentCultureIgnoreCase { get; }
static member CurrentCultureIgnoreCase : StringComparer
Public Shared ReadOnly Property CurrentCultureIgnoreCase As StringComparer
Property Value
A new object for string comparison.
Remarks
The current culture is the CultureInfo object associated with the current thread; it is returned by the CultureInfo.CurrentCulture property.
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.
Note
.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. We recommend that you use a culture other than C or Posix for performing culture-sensitive, case-insensitive sorting operations.
The CurrentCultureIgnoreCase property actually returns an instance of an anonymous class derived from the StringComparer class.
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
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
To improve performance, you can store the StringComparer object in a local variable rather than retrieve the value of the CurrentCultureIgnoreCase property multiple times.