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

上一篇:php-Cloudflare标头返回IPV6地址


下一篇:javascript-如何使Cloudflare工作程序覆盖响应状态代码,但保留其余响应?