【发布时间】:2019-01-21 16:22:30
【问题描述】:
编辑 - 右侧的正确结果(在下面的示例中)是 excel 是如何进行排序的,以及我试图在 C# 中使用 OrderBy 来完成什么。
我有以下 OrderBy 语句:
tempList.OrderBy(x => x.value);
并得到以下结果:
01P
41
90
但我需要它是以下内容:
41
90
01P
有没有办法使用 OrderBy 来完成这种类型的排序?我已经尝试添加 StringComparison.(type) 的所有变体,但我无法让排序工作。
非常感谢任何帮助!
更多示例如下:
Sorted by OrderBy: What is needed instead:
示例 1)
35 7
7 35
示例 2)
44K 692
692 44K
示例 3)
0EP 629
0ET 0EP
692 0ET
示例 4)
10W 110
110 10W
【问题讨论】:
-
我猜你是在比较 ASCII
-
这里的规则是什么?没有字母的东西比有字母的小吗?
-
左边的结果是excel中的自定义排序是如何排序的
-
当列类型为“auto”时,Excel 会执行各种魔法,它会测试内容是否为 数字排序,如果是则首先按数字排序。最好定义自己的规则并实现具有所需行为的
IComparer<string>。
标签: c# linq sorting sql-order-by