如何使Array.Sort区分大小写?

时间:2013-05-25 12:00:27

标签: arrays vb.net sorting case-sensitive

基本上我需要对字符串列表进行排序,但 小写 大写 和字符串中的 数字 。目前,当它对它们进行排序时,它将aA的值标记为相同的字母,所以:

acfgh
aztyu
Ahtwm

将排序为:

acfgh
Ahtwm
aztyu

但我希望它能在小写之前对大写字母进行排名(以及大写之前的数字),以便我得到:

Ahtwm
acfgh
aztyu

我宁愿仍然使用库中已包含的方法而不是创建我自己的快速排序。

1 个答案:

答案 0 :(得分:6)

无需重新发明轮子: - )

假设一个名为myArray的字符串数组:

Array.Sort(myArray, StringComparer.Ordinal)

会做到这一点(大写之前的小写和数字之前的大写字母)。

示例:

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

输出:

1A
1a
Aa
aa