Поделиться через


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 свойство может использоваться, если строки лингвистически релевантны, но их регистр не является. Например, если строки отображаются пользователю, но регистр не учитывается, не учитывается язык и региональные параметры, сравнение строк без учета регистра должно использоваться для упорядочивания строковых данных.

Замечание

.NET Core, работающий только на системах Linux и macOS: Поведение сортировки для культур C и Posix всегда учитывает регистр, так как эти культуры не используют ожидаемый порядок сортировки Юникода. Рекомендуем использовать культуру, отличную от C или Posix, для выполнения операций сортировки с учетом языка и региональных параметров, но без учета регистра.

Свойство CurrentCultureIgnoreCase фактически возвращает экземпляр анонимного класса, производный от StringComparer класса.

Каждый вызов метода доступа к CurrentCultureIgnoreCase свойству get возвращает новый 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 свойства несколько раз.

Применяется к

См. также раздел