Возможный дубликат:
Почему string.Compare не справляется с акцентированными символами непоследовательно?
У меня есть следующий код
var s1 = "ABzzzzz2";
var s2 = "äbzzzzz1";
var cmp = StringComparison.InvariantCultureIgnoreCase;
Console.WriteLine(string.Compare(s1, 0, s2, 0, 7, cmp)); //prints -1
Console.WriteLine(string.Compare(s1, 0, s2, 0, 8, cmp)); //prints 1
Как может быть, что часть первой строки меньше, чем часть второй, а вся первая строка больше, чем вторая?
Я тестировал его на x64,.net 2.0, 3.5, 4.0