Comportamento inesperado ao classificar seqüências de caracteres com letras e traços
Se eu tiver uma lista de cadeias de caracteres que contenha todos os números e hífens, elas serão classificadas em ordem crescente:
s = s.OrderBy(t => t).ToList();
66-0616280-000
66-0616280-100
66-06162801000
66-06162801040
Isto é como esperado.
No entanto, se as seqüências contiverem letras, a classificação será um tanto inesperada. Por exemplo, aqui está a mesma lista de cadeias com A à direita substituindo os 0s e, sim, ela é classificada:
66-0616280-00A
66-0616280100A
66-0616280104A
66-0616280-10A
Eu esperava que eles classificassem assim:
66-0616280-00A
66-0616280-10A
66-0616280100A
66-0616280104A
Por que a classificação se comporta de maneira diferente na seqüência de caracteres quando contém letras versus quando contém apenas números?
Desde já, obrigado.