频道栏目
首页 > 程序开发 > 软件开发 > C# > 正文
C# 键值对数据排序
2013-02-27 14:32:38           
收藏   我要投稿
对于键值对的数据进行排序方法总结。

[csharp]  

/*使用排序字典,默认只支持升序 

SortedDictionary<DateTime, String> dd = new SortedDictionary<DateTime, String>(); 

DateTime dt = DateTime.Now; 

dd.Add(dt, "bbb"); 

dd.Add(dt.AddDays(-1), "ccc"); 

dd.Add(dt.AddDays(1), "aaa"); 

//可以借助List得到降序键或值 

List<String> lst = new List<String>(dd.Values); 

lst.Reverse(); 

*/  

  

/*使用Linq查询 

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"); 

 

var result = from pair in dd orderby pair.Key descending select pair; 

List<String> lst = new List<String>(); 

foreach (var kv in result) 

{  www.2cto.com

    lst.Add(kv.Value); 

//或 

Dictionary<DateTime, String> dd2 = result.ToDictionary(p=>p.Key, p=>p.Value); 

*/  

  

//使用扩展方法  

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");  

  

Dictionary<DateTime, String> dicAsc = dd.OrderBy(p=>p.Key).ToDictionary(p=>p.Key, p=>p.Value);  

Dictionary<DateTime, String> dicDesc = dd.OrderByDescending(p=>p.Key).ToDictionary(p=>p.Key, p=>p.Value);  

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 数据
上一篇:WS-Addressing终结点规范
下一篇: 判断当前是否有人操作
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站