-4

サンプル:

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からすべて注文したいのですが、他は下端に配置されています(テキストを修正しました)。

4

2 に答える 2

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
于 2012-05-23T18:07:10.300 に答える
3
var res = aux.Where(a => a>=2 ).OrderBy (a => a)
             .Concat(aux.Where (a => a <2).OrderByDescending (a => a))
于 2012-05-23T18:04:32.437 に答える