【发布时间】:2014-03-20 03:23:58
【问题描述】:
如果我有一些包含所有数字和破折号的字符串列表,它们将按如下方式升序排序:
s = s.OrderBy(t => t).ToList();
66-0616280-000
66-0616280-100
66-06162801000
66-06162801040
这符合预期。
但是,如果字符串中包含字母,则排序有点出乎意料。例如,下面是相同的字符串列表,后面的 A 替换了 0,是的,它已排序:
66-0616280-00A
66-0616280100A
66-0616280104A
66-0616280-10A
我原以为他们会这样排序:
66-0616280-00A
66-0616280-10A
66-0616280100A
66-0616280104A
为什么当字符串包含字母与仅包含数字时,排序在字符串上的行为会有所不同?
提前致谢。
【问题讨论】:
-
请不要在问题标题中包含有关所用语言的信息,除非没有它就没有意义。标记用于此目的。
-
这很奇怪。直到我自己运行它,我才相信它......
-
你见过this吗??