我尝试按列表中的一个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
...
有没有人知道如何以与第一个例子相同的方式订购列表?
答案 0 :(得分:0)
尝试将这些双打作为您的国家货币。为了举例,让我们假设美元。 1.2美元比1.10美元更多的钱,而1.1美元又相当于1.1美元(1.10美元= 1.1美元),如果这些是字符串的话,它们不会产生相同的结果,并且不是数字。
如果这些是字符串,&#34; 1.10&#34;会在&#34; 1.5&#34;之后出现因为它有更长的长度,而不是因为它的内容。尽可能地试试。