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 http://blog.csdn.net/shellching/article/details/8617411