排序双打列表

时间:2017-08-03 16:41:29

标签: c# sorting

我尝试按列表中的一个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.2跟随1.1。这是上述方法提供的错误排序的一个例子:

1
1.1
1.10
1.11
1.12
1.2
1.3
1.4
...

有没有人知道如何以与第一个例子相同的方式订购列表?

1 个答案:

答案 0 :(得分:0)

尝试将这些双打作为您的国家货币。为了举例,让我们假设美元。 1.2美元比1.10美元更多的钱,而1.1美元又相当于1.1美元(1.10美元= 1.1美元),如果这些是字符串的话,它们不会产生相同的结果,并且不是数字。

如果这些是字符串,&#34; 1.10&#34;会在&#34; 1.5&#34;之后出现因为它有更长的长度,而不是因为它的内容。尽可能地试试。