对双精选列表进行排序

问题描述:

我试图按列表中包含的一个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; 

但既不给我我想要与这些方法如下1.10的顺序1.1而不是1.1之后的1.1。这里有一个例子不正确的排序的上述方法提供:

1 
1.1 
1.10 
1.11 
1.12 
1.2 
1.3 
1.4 
... 

没有人有任何想法,我可能会在如何以同样的方式作为第一个例子对列表进行排序?

+0

不,绝对是双打。 –

+2

@丹哈尔它们是双打的,但你想要的是弦乐。 –

+8

如果它们是'double'-s,'1.1'与'1.10'有什么不同? – xxbbcc

试着把这些双打拍成你的国家货币。为了举例,我们假设美元。 1.2美元比1.10美元多,而这又相当于1.1美元,又名(1.10美元= 1.1美元),如果是字符串,则不会产生相同的结果,而不是数字。

如果这些是字符串,“1.10”会出现在“1.5”之后,因为它具有更大的长度,而不是因为它的内容。尽可能地尝试。

+0

谢谢,但字符串拿出完全相同的排序顺序: -/ –

+0

尝试使用实际列表而不是IQueryable或IEnumerable。 列表 lRetItems = lExportItems.Select(l => l.linkid).ToList(); – Tiramonium