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


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 класса .

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

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

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