我正在尝试按列表包含的 x 个对象之一中的值对列表进行排序。这是我需要的订单:
1
1.1
1.2
1.3
1.4
1.5
1.10
1.11
1.12
4.1
4.2
4.15
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
var lRetItems = lExportItems.OrderBy(d => d.linkid*);
Run Code Online (Sandbox Code Playgroud)
和
IEnumerable<item> lRetItems =
from x in lExportItems
orderby x.linkid*
select x;
Run Code Online (Sandbox Code Playgroud)
*linkid = 字符串
但都没有给我我想要的顺序,因为这些方法 1.10 遵循 1.1 而不是 1.2 遵循 1.1。以下是上述方法提供的错误排序示例:
1
1.1
1.10
1.11
1.12
1.2
1.3
1.4
...
Run Code Online (Sandbox Code Playgroud)
有谁知道我如何以与第一个示例相同的方式对列表进行排序?
如果这是 1.10 的两倍,则与 1.1 相同...因此上面的顺序。但我希望字符串至少按长度排序?
有谁知道可以从这些字符串中提供我需要的顺序的方法吗?
这是一个 Rextester,显示了我根据评论尝试过的内容(失败):
谢谢。
var result = lRetItems.OrderBy(x => Version.Parse(x));
Run Code Online (Sandbox Code Playgroud)
您可以使用Version类。
这是Rexester 中的现场演示
归档时间: |
|
查看次数: |
987 次 |
最近记录: |