データベースのSQLを学習した際、ソートが簡潔に記述出来て驚いた記憶があります。Linqを使うとC#の配列をSQLのソートの様に簡潔に記述することが出来るようなので試してみました。
昇順で並べ替え
class Program
{
static void Main()
{
byte[] byteArray = {5, 3, 9};
var s = byteArray.OrderBy(a=>a);
Console.WriteLine("result:{0}", String.Join(",", s));
}
}
結果
result:3,5,9
昇順で並べ替え
class Program
{
static void Main()
{
byte[] byteArray = {5, 3, 9};
var s = byteArray.OrderByDescending(a=>a);
Console.WriteLine("result:{0}", String.Join(",", s));
}
}
結果
result:9,5,3
ソートキー
byte配列の場合キー項目はOrderBy(a=>a)という形ですが、一般的にはオブジェクトのプロパティを
指定します。(例:OrderBy(a=>a.size))
第二キー以降を指定する場合はOrderBy()に続けてThenBy()またはThenByDescending()で指定します。
コメント