LINQ中的OrderBy实现按照两个字段升序、降序排序操作
在公司或许有这种需求,先根据第一个某个字段按照升序排序,然后如果相同,在按照第二个某个字降序排序,我们该怎么去实现呢?
现在来教教大家分别使用Labmda和LINQ进行这种操作。
1.先按照第一个字段升序排序,然后相同数据按照降序排序?
//Labmda方式:
xxx.OrderBy(u=>u.id).ThenByDescendiing(u=>u.time);
//LINQ方式:
var values=from u in xx
Orderby u.id ascending, u.time descending
select u;
2.先按照第一个字段降序排序,然后相同按照升序排序?
//Labmda方式:
xxx.OrderByDescending(u=>u.id).ThenBy(u=>u.time);
//LINQ方式:
var values=from u in xx
Orderby u.id descending , u.time ascending
select u;
//Labmda:
descending:降序
ascending:升序
//LINQ:
降序:OrderBy和ThenBy
升序:OrderByDescending和ThenByDescending