LINQ orderby来自特定值

时间:2012-05-23 18:01:36

标签: c# linq sorting sql-order-by

样品:

var aux = new int[] { -1,0,1,-1,2,3,4,5,6,7 } 

预期结果:

{ 2,3,4,5,6,7,1,0,-1,-1 }

如何?

-

编辑:抱歉这个糟糕的问题。 我想从值2和其他放在较低端的人(我修复文本)中订购所有。

2 个答案:

答案 0 :(得分:5)

var query = aux
  .OrderBy(i => i < 2 ? 2 : 1) //small numbers last
  .ThenBy(i => i < 2 ? -i : i); //large numbers asc, small numbers desc

答案 1 :(得分:3)

var res = aux.Where(a => a>=2 ).OrderBy (a => a)
             .Concat(aux.Where (a => a <2).OrderByDescending (a => a))