我有一个可查询的实体,上面有一个"Code“字段
1.1.1,
1.1.2,
1.1.3,
1.1.4,
...,
1.1.10,
1.1.11不幸的是,当我对查询执行.OrderBy(x=> x.Code)时,它按以下顺序返回
1.1.1,
1.1.10,
1.1.11,
1.1.2,
1.1.3,
...如何才能使对象列表按代码字段排序,由“.”分割,并在每个部分之间作为一个整数?
这是客户数据,所以我不能把"0“放在数字1的前面。它也是此代码字段中的任意数量的“.”。
如果您需要进一步的信息,请让我知道。
发布于 2018-02-12 17:01:59
如果你能做一些假设,比如每个节点最多可以有n个字母。您可以使用此代码。
.OrderBy(x => String.Concat( x.Code.Split('.')
                                   .Select(ss => ss.PadLeft(3, '0'))) )https://stackoverflow.com/questions/48740934
复制相似问题