Как правильный способ сравнить случай, игнорируя Чар?C#

Место общения программистов C#
Ответить
Anonymous
 Как правильный способ сравнить случай, игнорируя Чар?

Сообщение Anonymous »

Мне интересно, какой правильный способ сравнить два персонажа, игнорируя случай, который будет работать для всех культур. Кроме того, является ли сравнитель .Default лучший способ проверить два символа без игнорирования случая? Работает ли это для суррогатной пар?public class CaseInsensitiveCharComparer : IComparer {
private readonly System.Globalization.CultureInfo ci;
public CaseInsensitiveCharComparer(System.Globalization.CultureInfo ci) {
this.ci = ci;
}
public CaseInsensitiveCharComparer()
: this(System.Globalization.CultureInfo.CurrentCulture) { }
public int Compare(char x, char y) {
return Char.ToUpper(x, ci) - Char.ToUpper(y, ci);
}
}

// Prints 3
Console.WriteLine("This is a test".CountChars('t', new CaseInsensitiveCharComparer()));


Подробнее здесь: https://stackoverflow.com/questions/139 ... oring-case
Ответить

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

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

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

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

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