奇怪的C#排序行为

时间:2016-09-29 17:45:59

标签: c# sorting

我在使用List.Sort时对.net排序字符串的方式有一些非常奇怪的行为。

这就是我的意思。这个例子符合我认为是按字典顺序排列这些特殊字符的正确顺序:

public void sortOrder()
{
    var list = new List<string> {"_", "-"};
    list.Sort();
    Console.WriteLine("Output: " + string.Join(", ", list));  
}

我得到-, _因此我认为是正确的。但是,当我执行以下操作时:

public void sortOrder2()
{
    var list = new List<string> {"x-amz-meta-file-number", "x-amz-meta-file_type"};
    list.Sort();
    Console.WriteLine("Output: " + string.Join(", ", list));
}

根据我的第一次测试,我得到了x-amz-meta-file_type, x-amz-meta-file-number我没想到的。

任何人都知道为什么.net会对这些字符串进行不同的排序?

0 个答案:

没有答案