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

时间:2023-03-09 06:10:40
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.先按照第一个字段降序排序,然后相同按照升序排序?

//Lambda方式:

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;

 

 //Lambda:

descending:降序

ascending:升序

//LINQ:

降序:OrderBy和ThenBy

升序:OrderByDescending和ThenByDescending