首页 > 学院 > 开发设计 > 正文

C# 键值对数据排序

2019-11-17 02:39:24
字体:
来源:转载
供稿:网友
C# 键值对数据排序

对于键值对的数据进行排序方法总结。

[csharp]view plaincopy
  1. /*使用排序字典,默认只支持升序
  2. SortedDictionary<DateTime,String>dd=newSortedDictionary<DateTime,String>();
  3. DateTimedt=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=newList<String>(dd.Values);
  9. lst.Reverse();
  10. */
  11. /*使用Linq查询
  12. Dictionary<DateTime,String>dd=newDictionary<DateTime,String>();
  13. DateTimedt=DateTime.Now;
  14. dd.Add(dt,"bbb");
  15. dd.Add(dt.AddDays(-1),"ccc");
  16. dd.Add(dt.AddDays(1),"aaa");
  17. varresult=frompairinddorderbypair.Keydescendingselectpair;
  18. List<String>lst=newList<String>();
  19. foreach(varkvinresult)
  20. {
  21. lst.Add(kv.Value);
  22. }
  23. //或
  24. Dictionary<DateTime,String>dd2=result.ToDictionary(p=>p.Key,p=>p.Value);
  25. */
  26. //使用扩展方法
  27. Dictionary<DateTime,String>dd=newDictionary<DateTime,String>();
  28. DateTimedt=DateTime.Now;
  29. dd.Add(dt,"bbb");
  30. dd.Add(dt.AddDays(-1),"ccc");
  31. dd.Add(dt.AddDays(1),"aaa");
  32. Dictionary<DateTime,String>dicAsc=dd.OrderBy(p=>p.Key).ToDictionary(p=>p.Key,p=>p.Value);
  33. Dictionary<DateTime,String>dicDesc=dd.OrderByDescending(p=>p.Key).ToDictionary(p=>p.Key,p=>p.Value);

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表