首页 新闻 赞助 找找看

System.Linq.Dynamic程序集下的OrderBy方法签名中两个参数的使用示例

0
悬赏园豆:5 [待解决问题]

对于动态linq查询中的orderby方法,好像用的最广的就是一个参数的重载。查了下github上的使用实例,对于两个参数的重载都只有这么一句:
DynamicQueryableExtensions.ThenBy(null, "Id");
google查了一大圈,没有关于两个参数重载的使用实例,请问有人用过么?谢谢!

又见阿郎的主页 又见阿郎 | 初学一级 | 园豆:163
提问于:2019-03-26 20:51
< >
分享
所有回答(2)
0

你想说啥呢?想实现多个字段的排序是吗?
Orderby + Thenby
2=n

爱编程的大叔 | 园豆:30839 (高人七级) | 2019-03-27 11:00

并不是,我只是想知道在linq.dynamic的程序集下orderby方法两个参数的使用方法。并不是什么多个字段排序。

支持(0) 反对(0) 又见阿郎 | 园豆:163 (初学一级) | 2019-03-28 20:57
0

Linq 多字段排序,就是在 OrderBy 后面接 ThenBy,
下面例子,输出顺序为:测试4 -> 测试3 -> 测试2 -> 测试1:

List<Jump> lst = new List<Jump>
{
    new Jump { Momey2 = 2, Money1 = 1, Money = 1, Name = "测试1"},
    new Jump { Momey2 = 1, Money1 = 2, Money = 1, Name = "测试2"},
    new Jump { Momey2 = 1, Money1 = 1, Money = 2, Name = "测试3"},
    new Jump { Momey2 = 1, Money1 = 1, Money = 1, Name = "测试4"},
};
lst = lst.OrderBy(l1 => l1.Momey2).ThenBy(l2 => l2.Money1).ThenBy(l3 => l3.Money).ToList();

for (int i = 0; i < lst.Count; i++)
{
    Console.WriteLine("第" + (i + 1) + "个:" + lst[i].Name);
}
三人乐乐 | 园豆:4819 (老鸟四级) | 2019-03-28 15:12

感谢回复,不过我并不是想实现多个字段的排序,而且我想使用的orderby是在linq.dynamic程序集下的,并不是linq自己提供的。具体的问题是:linq.dynamic程序集下的orderby方法两个参数的使用示例,及其表示的意思。

支持(0) 反对(0) 又见阿郎 | 园豆:163 (初学一级) | 2019-03-28 20:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册