ホームページ  >  記事  >  バックエンド開発  >  C#の辞書の順序と逆順を詳しく解説

C#の辞書の順序と逆順を詳しく解説

黄舟
黄舟オリジナル
2017-05-07 10:21:333893ブラウズ

C# .net 3.5 以降のバージョンでの Linq の導入後、辞書の並べ替えは SQL データベース query と同様のステートメントで行うことができますが、.net 2.0 の並べ替えはもう少し複雑です。面倒なので使いやすくするために、.net 3.5と2.0のソート方法をまとめます。

1. 辞書を作成します Dictionary オブジェクト

Dictionary が Web サイトのページのトラフィックを保存する場合、key は Web ページの名前であり、値は Web ページが訪問された回数に対応しますWeb ページへのアクセスは主に継続的な統計であるため、キーとして int を使用することはできません。Dictionary オブジェクトを作成してデータを追加するコードは次のとおりです。

2. .net 3.5 以降のバージョンの辞書ソート (つまり、linq 辞書ソート)

1. 辞書 値 value によるソート

Dictionary<string, int> dic = new Dictionary<string, int>();
  dic.Add("index.html", 50);
  dic.Add("product.html", 13);
  dic.Add("aboutus.html", 4);
  dic.Add("online.aspx", 22);
  dic.Add("news.aspx", 18);

ソート結果:

Index.html: 50

online.aspx: 22
news.aspx : 18
product.html: 13
aboutus.html: 4

上記のコードは降順(逆順)に並べ​​ていますが、昇順(順序)に並べたい場合は降順を削除するだけです。

変数 dicSortの右側。

2. C#辞書のキーソート

Keyでソートしたい場合は、変数dicSortの右側のobjDic.ValueをobjDic.Keyに変更するだけです。

3. .net 2.0バージョン 辞書のソート

1. 辞書は値の値でソートされます(逆順)

 private void DictonarySort(Dictionary<string, int> dic)
  {
    var dicSort = from objDic in dic orderby objDic.Value descending select objDic;
    foreach(KeyValuePair<string, int> kvp in dicSort)
      Response.Write(kvp.Key + ":" + kvp.Value + "<br />");
  }

ソート結果:

index.html: 50

online.aspx: 22
news.aspx: 18
Product. html:13
aboutus.html:4

逐次配置:変数 return s2.Value.CompareTo(s1.Value); を return s1.Value.CompareTo(s2.Value); に変更するだけです。

2. C#辞書キーソート(逆順、連続順)

Keyで逆順に並べ替えたい場合は、return s2.Value.CompareTo(s1.Value);をreturn s2.Key.CompareTo(s1.Key);に変更するだけです。 Key.CompareTo(s1 .Key); は s1.Key.CompareTo(s2.Key); を返すように変更できます。

以上がC#の辞書の順序と逆順を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。