LINQ中的OrderBy实现按照两个字段升序、降序排序操作

时间:2024-02-01 15:08:45

在公司或许有这种需求,先根据第一个某个字段按照升序排序,然后如果相同,在按照第二个某个字降序排序,我们该怎么去实现呢?

现在来教教大家分别使用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