首页 新闻 会员 周边 捐助

OrderBy方法如何实现多字段排序?

0
悬赏园豆:10 [已解决问题] 解决于 2009-03-16 13:31

var employee = new[]{
                new{id="2", name="name3"},
                new{id="1",name="name4"},
                new{id="3",name="name2"},
                new{id="1",name="name1"}
            };

            foreach (var emp in employee.OrderBy(c => c.id))
            {
                Console.WriteLine("id:{0} name:{1}", emp.id, emp.name);
            }

请问OrderBy如何实现对id和name同时进行排序(像order by id asc,name asc一样)?

Terry Huang的主页 Terry Huang | 初学一级 | 园豆:50
提问于:2009-03-14 14:51
< >
分享
最佳答案
1

同时为条件排序需要用ThenBy或ThenByDescending

所以应该为:employee.OrderBy(c => c.id).ThenBy(c=>c.name)

Fencer | 初学一级 |园豆:7 | 2009-03-14 18:18
其他回答(3)
0

   foreach (var emp in employee.OrderBy(c => c.id)&&………………)应该可以!!!

子夜星辰 | 园豆:1613 (小虾三级) | 2009-03-14 15:16

这样不可以,lambda表达式不支持“&&”符号

支持(0) 反对(0) 明&天 | 园豆:85 (初学一级) | 2015-07-22 10:51
0

mark...

Jared.Nie | 园豆:1940 (小虾三级) | 2009-03-14 16:35
0

翻开VS怎么也找不到ThenBy这个方法,楼上在用C#几点零?

风海迷沙 | 园豆:4453 (老鸟四级) | 2009-03-15 12:47

我的是2012版本有

支持(0) 反对(0) 明&天 | 园豆:85 (初学一级) | 2015-07-22 10:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册