【发布时间】:2014-10-24 16:41:28
【问题描述】:
我正在尝试做一种高级排序... 我的字段类似于
315122-111-7.5
315122-111-8
315122-001-7.5
315122-111-8.5
315122-001-8
315122-001-9
3151-BLK-7
3151-BLK-7.5
3151-BLK-9
我正在尝试找到一种方法来像这样对它们进行排序
315122-001-7.5
315122-001-8
315122-001-9
315122-111-7.5
315122-111-8
315122-111-8.5
3151-BLK-7
3151-BLK-7.5
3151-BLK-9
基本上我希望按可读的数字和字母排序...
关于如何对这样的列表进行排序有什么想法吗?
【问题讨论】:
-
我会创建一个视图或计算列来按照您的需要分解您的字段,然后按该列组合进行排序。从您的示例中,我无法准确地告诉您您对排序的期望。
-
我不知道这是否可行,因为这些字段不遵循任何约定
-
一个不遵循惯例的字段或集合,对我来说,听起来不像是机器可排序的。
-
字段第一部分(即3151222、3151部分)的排序规则是什么?
-
也许再举一个例子。我在 List(Of String) 和 .Sort() 列表中添加了您的初始列表,并且输出与您想要的相同。根据您的示例,默认排序似乎已经完成了您想要的操作。
标签: c# asp.net sql-server sorting natural-sort