dictonary按键值进行排序

  1. 用排序字典,默认只支持升序 
  2. SortedDictionary<DateTime, String> dd = new SortedDictionary<DateTime, String>(); 
  3. DateTime dt = DateTime.Now; 
  4. dd.Add(dt, "bbb"); 
  5. dd.Add(dt.AddDays(-1), "ccc"); 
  6. dd.Add(dt.AddDays(1), "aaa"); 
  7. //可以借助List得到降序键或值 
  8. List<String> lst = new List<String>(dd.Values); 
  9. lst.Reverse(); 
  10. */  
  11.   
  12. /*使用Linq查询 
  13. Dictionary<DateTime, String> dd = new Dictionary<DateTime, String>(); 
  14. DateTime dt = DateTime.Now; 
  15. dd.Add(dt, "bbb"); 
  16. dd.Add(dt.AddDays(-1), "ccc"); 
  17. dd.Add(dt.AddDays(1), "aaa"); 
  18.  
  19. var result = from pair in dd orderby pair.Key descending select pair; 
  20. List<String> lst = new List<String>(); 
  21. foreach (var kv in result) 
  22. { 
  23.     lst.Add(kv.Value); 
  24. } 
  25. //或 
  26. Dictionary<DateTime, String> dd2 = result.ToDictionary(p=>p.Key, p=>p.Value); 
  27. */  
  28.   
  29. //使用扩展方法  
  30. Dictionary<DateTime, String> dd = new Dictionary<DateTime, String>();  
  31. DateTime dt = DateTime.Now;  
  32. dd.Add(dt, "bbb");  
  33. dd.Add(dt.AddDays(-1), "ccc");  
  34. dd.Add(dt.AddDays(1), "aaa");  
  35.   
  36. Dictionary<DateTime, String> dicAsc = dd.OrderBy(p=>p.Key).ToDictionary(p=>p.Key, p=>p.Value);  
  37. Dictionary<DateTime, String> dicDesc = dd.OrderByDescending(p=>p.Key).ToDictionary(p=>p.Key, p=>p.Value);  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值