お問い合わせ

tel:0570-046-503

営業時間 10:00~17:00(定休日:土日祝日)

Listの並び替え

   2015/08/04

C#でListの並び替えを行う際の定番の方法は、

詰め替え用のオブジェクトをもう一つ用意して

forループの中で値の比較を行い、詰め替えを行うことです。


ここでは、Array.Sortメソッドを使って、任意の方法で並び替えを行う方法をご紹介します。


並びえるオブジェクトは

List<Dictionary<string,object>>です。

特定のキーの値によって並び替えを行います。

htmlList.Sort(delegate(Dictionary<string, object> a1, Dictionary<string, object> a2)
{
    return
        CommonUtility.Convert.ConvertUtility.ConvertStringZeroToInt(a1["Order"]) -
        CommonUtility.Convert.ConvertUtility.ConvertStringZeroToInt(a2["Order"]);
});

sortメソッドの内部をdelegateで定義することで、

任意の比較ルールを各レコードの比較に適用します。


CommonUtility.Convert.ConvertUtility.ConvertStringZeroToInt は自社共通関数で、

値を数値に変換するものです。

"Order"というキーの値順に並び替えを行います。


内部的にはループをまわして処理をしていると思われますが、

割と簡単に書けますし、delegate利用の勉強にもなります。

  • ブログランキング・にほんブログ村へ
  • FC2ブログランキングへ
  • 人気ブログランキングへ
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)