OrderByメソッド
OrderByメソッドはLINQのソート機能です。コレクションの要素を並べ替えることが可能です。
昇順の場合はOrderByメソッド、降順の場合はOrderByDescendingメソッドを使用します。
int[] values = { 1, 9, 5, 6, 8, 6, 2, 5, 3 }; //昇順 var res_ask = values.OrderBy(x => x).ToList(); //降順 var res_desk = values.OrderByDescending(x => x).ToList();
Dim values As Integer() = {1, 9, 5, 6, 8, 6, 2, 5, 3} '昇順 Dim res_ask = values.OrderBy(Function(x) x).ToList() '降順 Dim res_desk = values.OrderByDescending(Function(x) x).ToList()
ValueTupleなどの構造体やデータベース連携などで複数要素を持ったコレクションに対してもソートは有効です。
var sitenList = new List<(int sitenCD, string sitenName)> { (9, "岐阜支店"), (5, "滋賀支店"), (10, "京都支店") , (7, "大阪支店"), (9, "兵庫支店"), (2, "三重支店")}; //sitenCDで昇順 var res_ask = sitenList.OrderBy(x => x.sitenCD).ToList(); //sitenNameで降順 var res_desk = sitenList.OrderByDescending(x => x.sitenName).ToList();
Dim sitenList = New List(Of (sitenCD As Integer, sitenName As String)) From {(9, "岐阜支店"), (5, "滋賀支店"), (10, "京都支店"), (7, "大阪支店"), (9, "兵庫支店"), (2, "三重支店")} 'sitenCDで昇順 Dim res_ask = sitenList.OrderBy(Function(x) x.sitenCD).ToList() 'sitenNameで降順 Dim res_desk = sitenList.OrderByDescending(Function(x) x.sitenName).ToList()