-
C#教程之C# 键值对数据排序代码
public static void SortDicWithLinq(){
Dictionary<DateTime, String> dd = new Dictionary<DateTime, String>();
DateTime dt = DateTime.Now;
dd.Add(dt, "bbb");
dd.Add(dt.AddDays(-1),"ccc");
dd.Add(dt.AddDays(1), "aaa");
Console.WriteLine("Org===============");
travelDicKeyDate(dd);
Dictionary<DateTime, String> dicAsc = dd.OrderBy(p => p.Key).ToDictionary(p => p.Key, p => p.Value);
Console.WriteLine("Asc===============");
travelDicKeyDate(dicAsc);
Dictionary<DateTime, String> dicDesc = dd.OrderByDescending(p => p.Key).ToDictionary(p => p.Key, p => p.Value);
Console.WriteLine("Desc===============");
travelDicKeyDate(dicDesc);
} public static void travelDicKeyDate(Dictionary<DateTime, String> dic)
{
foreach (KeyValuePair<DateTime,String> kvp in dic)
{
Console.WriteLine(String.Format("{0} {1}",kvp.Key,kvp.Value));
}
}
output:
Org===============
2013/9/27 11:07:29 bbb
2013/9/26 11:07:29 ccc
2013/9/28 11:07:29 aaa
Asc===============
2013/9/26 11:07:29 ccc
2013/9/27 11:07:29 bbb
2013/9/28 11:07:29 aaa
Desc===============
2013/9/28 11:07:29 aaa
2013/9/27 11:07:29 bbb
2013/9/26 11:07:29 ccc