Неожиданное поведение при сортировке строк с буквами и тире
Если у меня есть какой-то список строк, содержащий все числа и тире, они будут сортироваться по возрастанию следующим образом:
s = s.OrderBy(t => t).ToList();
66-0616280-000
66-0616280-100
66-06162801000
66-06162801040
Это как и ожидалось.
Однако, если строки содержат буквы, сортировка несколько неожиданна. Например, вот тот же список строк с конечными буквами А, заменяющими 0, и да, он отсортирован:
66-0616280-00A
66-0616280100A
66-0616280104A
66-0616280-10A
Я бы ожидал, что они будут сортироваться так:
66-0616280-00A
66-0616280-10A
66-0616280100A
66-0616280104A
Почему сортировка ведет себя по-разному в строке, когда она содержит буквы, и когда она содержит только цифры?
Заранее спасибо.