【Linq】要素をソートする【Sort】

昇順・降順よく間違えるのでメモ

昇順にソート

OrderBy

リファレンス

1 2 3 4 5 …
A B C D E …

降順にソート

OrderByDescending

リファレンス

5 4 3 2 1 …
E D C B A …

第二要素でソートする場合

ThenBy 昇順
ThenByDescending 降順

サンプル

// ランダムな値の配列
System.Guid[] guidArray = new System.Guid[10];
for( int i = 0; i < 10; ++i) 
{
	guidArray[i] = System.Guid.NewGuid();
}

このランダムな要素を使ったサンプルです。

OrderBy 昇順

// 昇順
guidArray = guidArray.OrderBy ( _a => _a).ToArray();
// 出力する
string result = "";
for( int i = 0; i < 10; ++i) 
{
	result += $"{guidArray[i].ToString()}\n";
}
Console.WriteLine( result);
03eb036d-f952-453d-95dc-3e0a81878dcb
1f34d46e-d5a1-41e7-b3de-e184ce23abbc
359bb81b-dd38-41ac-bb89-66adca75ce2a
5a6d7d73-710d-4862-a800-8248cdddb555
6ced12f1-0a12-42e4-a4e3-3597315d01ae
9cacc748-4a88-426e-b668-dae51ba8cbbe
9dfa4584-7b4e-4da5-b52f-8cbeee079d06
9e115fa9-bea4-4983-950f-c0295fb4f420
cda0d62c-b1bf-43f6-b788-34379fdbedb0
d6bb117e-f3b8-4fc2-a2a3-a6b9bfd7bd0e

OrderByDescending 降順

// 降順
guidArray = guidArray.OrderByDescending( _a => _a).ToArray();
// 出力する
string result = "";
for( int i = 0; i < 10; ++i) 
{
	result += $"{guidArray[i].ToString()}\n";
}
Console.WriteLine( result);
ccb0d7c9-4a08-4c55-a575-855455191c6a
c2010f17-0ce5-46e4-99f0-e13a77dc8350
b49f2897-e954-47b2-b3b6-04cbd84f1d60
9feb4dfa-a911-472e-9a1b-e8ec7f2f838f
97101786-5c14-49f3-a44b-dd88a3ed3a40
74060247-adc4-4762-bfd2-4caa18e1af75
5db5ad5b-e565-4335-af05-10cadffa2eb8
48ab5360-b5fe-4171-b287-da31bbe4d189
33cb0c97-69cd-403d-b7df-baf59ee3ac9c
003224aa-917e-4700-88bc-cb7c09491fe7

コメントを残す