C# LINQを使ってDataTableを並び替える

LINQという技術を使ってソートを行います。

DataTableに対してLINQを発行するとデータの扱いに自由度が上がり、処理速度も高速に行えるので覚えとくと集計業務に役立ちます。

こちらの為替データをDataTableに取り込んだ前提でソートを行っています。

 

スポンサーリンク

 

CSVをDataTableに取り込む方法はこちら

 


/// <summary>
/// 指定した項目を昇順にソートします
/// </summary>
/// <param name="dt">USD/JPY為替データ</param>
/// <returns>並び替えたDataTable</returns>
public DataTable Sort(DataTable dt)
{
	// Fromを昇順に並び替えます
	DataRow[] rows = (
	    from row in dt.AsEnumerable()
	    let timestamp = row.Field<string>("From")
        //where From > "条件1" && From < "条件2" 条件を入れることもできます
	    orderby timestamp
	    //orderby timestamp descending 降順にしたい場合
	    select row
	).ToArray();

	// 並び替えた結果を格納します
	DataTable SortTBL = rows.CopyToDataTable();

	return SortTBL;
}

スポンサーリンク

SNSでもご購読できます。

コメントを残す