C# linq 两个字段 排序
比如说有一个student类,有两个字段score分数year年龄,需求根据score的大小进去排序,如果score相等year大的超前需求根据score的大小进去排序会...
比如说有一个student类,有两个字段score分数 year年龄,
需求根据score的大小进去排序,如果score相等year大的超前
需求根据score的大小进去排序会写,
如果score相等year大的超前这个就不会写了
这个是从大到小的排序
var pn = (from min blist orderby m.score descending select m);
答案已经找到了
var pn = blist.OrderBy(m=>m.score).ThenBy(m=>m.year).ToList();
但是排序是从小到大,如何从大到小呢 展开
需求根据score的大小进去排序,如果score相等year大的超前
需求根据score的大小进去排序会写,
如果score相等year大的超前这个就不会写了
这个是从大到小的排序
var pn = (from min blist orderby m.score descending select m);
答案已经找到了
var pn = blist.OrderBy(m=>m.score).ThenBy(m=>m.year).ToList();
但是排序是从小到大,如何从大到小呢 展开
1个回答
展开全部
多个字段就是在原来的基础上再次排序,参考:
var pn = (from m in (from m in blist orderby m.score descending select m) orderby m.year descending select m);
追问
我测试没效果,没排序提交追问
追答
= = 在我这测试正常呀……题主在试一下这种写法:
var pn = (from m in blist orderby m.score descending, m.year descending select m);
还有题主补充的已经不是通常意义上讲的 Linq 了而是 Lamda 表达式(虽然二者有一定关系)了,这种写法里 OrderBy、ThenBy 是升序的,OrderByDescending、ThenByDescending 是降序的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询