Как да направите Array.Sort чувствителен към главни и малки букви?

По принцип трябва да сортирам списък с низове, но има малки букви, главни букви и числа в низовете. В момента, когато ги сортира, той оценява a и A като една и съща буква, така че:

acfgh
aztyu
Ahtwm

ще бъдат сортирани по:

acfgh
Ahtwm
aztyu

Но искам да класира главни букви преди малки букви (и числа преди главни), така че да получа:

Ahtwm
acfgh
aztyu

Предпочитам все още да използвам методите, които вече се съдържат в библиотеката, отколкото да създавам свое собствено бързо сортиране.


person AndrewB    schedule 25.05.2013    source източник


Отговори (1)


Няма нужда да преоткривате колелото :-)

Да предположим, че масив от низове се казва myArray:

Array.Sort(myArray, StringComparer.Ordinal)

ще свърши работа (главни букви преди малки букви и цифри преди главни).

Пример:

Dim str = String() = {"aa", "Aa", "1a", "1A"}
Array.Sort(str, StringComparer.Ordinal)

Изход:

1A
1a
Aa
aa
person Chris    schedule 25.05.2013
comment
Благодаря за помощта, помогнах много! - person AndrewB; 26.05.2013