データを並び変える
昇順 (OrderBy)
var ordered = ary.OrderBy(x => x.param1); foreach(var param in ordered) { }
IOrderedEnumerable<T>
が返ってきます。といっても配列と同じような感覚で使えます。
x.param1
は並び替えのキー(変数)です。
降順(OrderByDescending)
var ordered = ary.OrderByDescending(x => x.param1);
条件を複数にしたい場合
OrderBy
で比較した値が同じものがあった場合、条件を追加して並び替えたい場合があります。
そいういう時は ThenBy / ThenByDescending
を使います。
昇順 (ThenBy)
var ordered = ary.OrderBy(x => x.param1) .ThenBy(x => x.param2);
降順 (ThenByDescending)
降順にしたい場合は、 ThenByDescending
を使います。
var ordered = ary.OrderBy(x => x.param1) .ThenByDescending(x => x.param2);
さらに条件を追加したい場合
ThenBy
を何回も繋げることで何個でも条件を追加することができます。
var ordered = ary.OrderBy(x => x.param1) .ThenBy(x => x.param2); .ThenBy(x => x.param3);