Каков правильный способ сравнения символов, игнорирующих регистр?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Каков правильный способ сравнения символов, игнорирующих регистр?

Сообщение Anonymous »


Мне интересно, какой правильный способ сравнения двух символов без учета регистра будет работать для всех культур. Кроме того, является ли Comparer.Default лучшим способом проверить два символа, не игнорируя регистр? Работает ли это для суррогатных пар?

EDIT: добавлен пример реализации IComparer

Если это кому-то поможет, я решил использовать именно это
публичный класс CaseInsensivityCharComparer: IComparer { частный только для чтения System.Globalization.CultureInfo ci; public CaseInsensusCharComparer(System.Globalization.CultureInfo ci) { this.ci = ci; } общедоступный CaseInsensitivityCharComparer() : this(System.Globalization.CultureInfo.CurrentCulture) { } public int Compare(char x, char y) { return Char.ToUpper(x, ci) - Char.ToUpper(y, ci); } } // Печатает 3 Console.WriteLine("Это тест".CountChars('t', new CaseInsensusCharComparer()));
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»