相关疑难解决方法(0)

使用字母和短划线排序字符串时出现意外行为

如果我有一些字符串列表包含所有数字和破折号,他们将按升序排序:

s = s.OrderBy(t => t).ToList();
Run Code Online (Sandbox Code Playgroud)

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

当字符串包含字母时,为什么排序在字符串上的行为不同?

提前致谢.

c# sorting

14
推荐指数
2
解决办法
1481
查看次数

标签 统计

c# ×1

sorting ×1