排序字符串列表

时间:2018-01-27 23:13:14

标签: c#

当我尝试在C#中对字符串列表进行排序时,结果有点奇怪,

List<string> a = new List<string>();
a.Add("test1");
a.Add("test12");
a.Add("bbb");
a.Add("a");
a.Add("aaa");
a.Add("AAAaaAA");
a.Sort();

我剩下的是

a
bbb
test1
test12
aaa
AAAaaAA

我不明白为什么

aaa 
AAAaaAA

结束了吗? 谁能解释为什么会这样呢?

1 个答案:

答案 0 :(得分:5)

这是因为你的文化。我是丹麦人,我得到了同样的结果。 (可能因为“aa”是“å”)。

 System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en");

在列表前添加此项,然后您就可以获得预期的结果。

让其他人复制问题:

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("da");

解决方案:

a.Sort(StringComparer.InvariantCulture);