Доброго времени суток, уважаемые! Тема "ламерские" вопросы давненько не посещается, посему рискну спросить здесь, хотя вопрос, мягко говоря, не дотягивает даже до уровня "новичка" (только начал изучать): почему сортировка идет без учета регистра?
| Код | string str = "а А б Б в В"; string[] sa = str.Split(' '); Array.Sort(sa); // непонимание именно здесь. str = String.Join(" ", sa); Console.WriteLine(str);
|
Имхо, должно быть "А Б В а б в", а выводит "а А б Б в В" В описании http://msdn.microsoft.com/en-us/library/6tf1f0bc.aspx написано, что для сортировки элементы массива должны реализовывать IComparable. Сам http://msdn.microsoft.com/en-us/library/system.icomparable.aspx содержит только метод CompareTo. Ну и в его реализации для http://msdn.microsoft.com/en-us/library/35f0x18w.aspx пишется, что сравнение регистро-зависимое. Соответственно, сортировка должна поставить первыми заглавные буквы. Что я понимаю/делаю неправильно? |