zoukankan      html  css  js  c++  java
  • C#对Dictionary的按Value排序

    使用List对其进行排序

    using System; using System.Collections.Generic; using System.Text;

    namespace ConsoleApplication4 {     class Program     {         static void Main(string[] args)         {

                Dictionary<string, string> dic = new Dictionary<string, string>();

                dic.Add("Arraymin", "c:\demo\min.xsl");

                dic.Add("Arraymax", "c:\demo\max.xsl");

                dic.Add("Arrayr", "c:\demo\r.xsl");

                List<KeyValuePair<string, string>> myList = new List<KeyValuePair<string, string>>(dic);

                myList.Sort(delegate(KeyValuePair<string, string> s1, KeyValuePair<string, string> s2)                 {

                        return s1.Value.CompareTo(s2.Value);

                    });

                dic.Clear();

                foreach (KeyValuePair<string, string> pair in myList)             {

                    dic.Add(pair.Key, pair.Value);

                }

                foreach (string key in dic.Keys)             {

                    Console.WriteLine(dic[key]);

                }

                Console.ReadKey();         }            } }

    C#3.0 Lambda表达式 (VS2008)的实现方法:

                Dictionary<string, string> dic = new Dictionary<string, string>();

               dic.Add("Arraymin", "c:\demo\min.xsl");

                dic.Add("Arraymax", "c:\demo\max.xsl");

                dic.Add("Arrayr", "c:\demo\r.xsl");

     

                var list = dic.OrderBy(s => s.Value);

     

                foreach (var s in list)

                {

                    Console.WriteLine(dic[key]);            }

    C#3.0 Linq (VS2008)的实现方法:

                Dictionary<string, string> dic = new Dictionary<string, string>();

                dic.Add("Arraymin", "c:\demo\min.xsl");

                dic.Add("Arraymax", "c:\demo\max.xsl");

                dic.Add("Arrayr", "c:\demo\r.xsl");

     

                var dicSort = from d in dic

                              orderby d.Value

                              ascending

                              select d;

     

                foreach (string key in dic.Keys)

                {

                  Console.WriteLine(dic[key]);

                }

     

     

     

    参考:http://blog.csdn.net/meifage2/article/details/6623272

  • 相关阅读:
    BUG记录之 Database Connection Can’t Be Open!
    C#基础拾遗03注册表保存用户设置
    JQuery Ajax小磨合1
    SQL Server几个常用Date函数(二)
    浅谈设计模式01策略模式
    C#基础拾遗02XML串行化
    SQL Server 2008 R2学习心得
    WebService重载问题
    SQL Server几个常用date函数(一)
    C#获取打印机列表
  • 原文地址:https://www.cnblogs.com/xiaoN-2006/p/3353147.html
Copyright © 2011-2022 走看看