我正在尝试按照列表中一个x对象的值对列表进行排序。这是我需要的顺序:
我已经尝试过以下内容:
1
1.1
1.2
1.3
1.4
1.5
1.10
1.11
1.12
4.1
4.2
4.15
我已经尝试过以下内容:
var lRetItems = lExportItems.OrderBy(d => d.linkid*);
并且
IEnumerable<item> lRetItems =
from x in lExportItems
orderby x.linkid*
select x;
*linkid = 字符串
但是这些方法都不能按照我想要的顺序进行排序,比如1.10会在1.1之后而不是在1.2之后。以下是上述方法提供的错误排序示例:
1
1.1
1.10
1.11
1.12
1.2
1.3
1.4
...
有人知道如何按照第一个示例的顺序对列表进行排序吗?
如果这是双倍,则1.10将与1.1相同...因此上面的排序。但我希望至少按长度对字符串进行排序?
是否有人知道一种方法可以从这些字符串中提供所需的排序?
这里是一个 Rextester,显示了我基于评论尝试过的内容(失败了):
谢谢。
"1,", "2"
必须替换为"1.0", "2.0"
或类似内容。次版本是必需的。一旦您解决了这个问题,它就可以正确地排序版本号。 - AndrewIComparable
。这可能是一个不错的方法(类似于其他先前链接问题中的方法)。 - Andrew