概要
Enumerable静的クラスのOrderByDescending拡張メソッドを使用すれば、複数のデータを簡単に降順で整列することができます。
日常でたとえると
倉庫にある書類の段ボールを、ラベルに書いてある番号の大きい順に整理してもらう。
使用に適した状況
データを人間が確認する場合。
サンプル
/*----------------------------------------------------
*
* データを降順で並び変える
*
----------------------------------------------------*/
using System;
using System.Linq;
using System.Collections.Generic;
class Sample
{
static void Main( )
{
//データソースを用意
int[ ] values = new int[ ]{
5, 10, 2, 4, 8, 1, 3, 6, 8, 7, 9
};
Console.WriteLine( "データ" );
foreach ( int v in values )
Console.Write( "{0} ", v );
Console.WriteLine( Environment.NewLine );
//データを整列
Console.WriteLine(
"データを降順で整列します・・・" );
var results = values.OrderByDescending(
( x ) => x );
foreach ( var r in results )
Console.Write( "{0} ", r );
Console.WriteLine( Environment.NewLine );
//データを整列
Console.WriteLine(
"クエリ式を使用します・・・" );
var results1 = from v in values
orderby v descending
select v;
foreach ( var r1 in results1 )
Console.Write( "{0} ", r1 );
Console.WriteLine( Environment.NewLine );
//終了
Console.WriteLine( "サンプル終了。" );
Console.ReadLine();
}
}
名前空間
System.Linqを参照してください。
解説
集合論と機械はデータの順番を気にしません。しかしながら、通常の人はデータが並んだ状態で確認したいと思います。プログラミングでデータを大きい順で並び替えることを、降順の整列と呼びます。
データを降順で整列させたい時、基準となるプロパティを決定します。そして、Enumerable静的クラスのOrderByDescending拡張メソッドでそのキーを指定し呼びだすだけで、整理整頓された状態のデータを入手できます。 ビックデータを扱う事が多いので、重宝する拡張メソッドだと思います。
データを整列させるメソッドとしてSortメソッドがあります。このメソッドとの違いは、統一した方法で使用できる点にあります。OrderByDescending拡張メソッドは、Enumerable静的クラスの他の拡張メソッドと連携し、大きな価値を生み出します。
テーマ : プログラミング
ジャンル : コンピュータ