c# 关于字典dictionary 按时间排序
上文中说到sortedlist 排序是键排序,不符合项目要求问题,接着使用字典dictionary 对value 为时间按照升序排序,问题解决.
中间涉及到linq的使用.还有其他的写法,但发现下边的写法最直观也容易理解.
var dicSort = from objDic in dic orderby objDic.Value descending select objDic; 这种写法最简单,也容易理解
dicsort 目标字典,objdic对象应该是映射的无需定义的对象,dic 是你自己定义的字典,orderby 规则,对字典里的每个对象或者叫存值吧,存值的value进行 升序排序,选择这个对象,后边 select 指定选择这个linq要求的格式,没详细了解.
再看看下边的写法
对一个Dictionary<TKey, TValue>进行值排序可以用LINQ: Dictionary<string, string> MyDictionary = new Dictionary<string, string>(); MyDictionary = (from entry in MyDictionary
orderby entry.Value ascending
select entry).ToDictionary(pair => pair.Key, pair => pair.Value);
后边还有个todictionnary, 这个应该是源数据不是字典的形式,转换成字典,而当前我的项目里边使用的是字典处理的,所以不需要转换了.
定义字典
static Dictionary<String, DateTime> n_readlist = new Dictionary<String, DateTime>();
时间变量
DateTime time = DateTime.Parse(strs[1]);
添加
n_readlist.Add(result, time);
排序升序ascending
var dicSort = from objDic in n_readlist orderby objDic.Value ascending select objDic; //在此objdic就是n_readlist ,objdic.value 的排序就是n_readlist的排序
打印
foreach (var item in dicSort)
{
Debug.WriteLine(item.Key+" " + item.Value);
}
var dicSort = from objDic in n_readlist orderby objDic.Value ascending select objDic;
引用
这里是针对.NET版本过低的排序方式,没怎么用过,记录一下;
一、创建字典Dictionary 对象
假如 Dictionary 中保存的是一个网站页面流量,key 是网页名称,值value对应的是网页被访问的次数,由于网页的访问次要不断的统计,所以不能用 int 作为 key,只能用网页名称,创建 Dictionary 对象及添加数据代码如下:

Dictionary<string, int> dic = new Dictionary<string, int>();
dic.Add("index.html", 50);
dic.Add("product.html", 13);
dic.Add("aboutus.html", 4);
dic.Add("online.aspx", 22);
dic.Add("news.aspx", 18);

二、.net 2.0 版本 Dictionary排序

List<KeyValuePair<string, int>> lst = new List<KeyValuePair<string, int>>(dic);
//倒叙排列:只需要把变量s2 和 s1 互换就行了 例: return s1.Value.CompareTo(s2.Value);
//进行排序 目前是顺序
lst.Sort(delegate(KeyValuePair<string, int> s1, KeyValuePair<string, int> s2)
{
return s2.Value.CompareTo(s1.Value);
});
dic.Clear();

三、.net 3.5 以上版本 Dictionary排序(即 linq dictionary 排序)
使用linq排序
var dicSort = from objDic in dic orderby objDic.Value descending select objDic;
输出要用这个输出:
foreach(KeyValuePair<string, int> kvp in dicSort)
{
Response.Write(kvp.Key + ":" + kvp.Value + "<br />");
}
c# 关于字典dictionary 按时间排序的更多相关文章
- C#字典Dictionary排序(顺序、倒序)
这里是针对.NET版本过低的排序方式,没怎么用过,记录一下: 一.创建字典Dictionary 对象 假如 Dictionary 中保存的是一个网站页面流量,key 是网页名称,值value对应的是网 ...
- python字典(dictionary)使用:基本函数code实例,字典的合并、排序、copy,函数中*args 和**kwargs做形参和实参
python字典dictionary几个不常用函数例子 一.字典声明 如,d={}; d= {'x':1,'b':2} d1 = dict(x=1,y=2,z=3) d2 = dict(a=3 ...
- C#创建安全的字典(Dictionary)存储结构
在上面介绍过栈(Stack)的存储结构,接下来介绍另一种存储结构字典(Dictionary). 字典(Dictionary)里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而 ...
- python字典按照value进行排序
先说几个解决的方法,具体的有时间再细说 d = {'a':1,'b':4,'c':2} 字典是这个,然后要对字典按照value进行排序 方法一: sorted(d.items(),key = lamb ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- python字典按照value进行排序.bak
先说几个解决的方法,具体的有时间再细说 d = {'a':1,'b':4,'c':2} 字典是这个,然后要对字典按照value进行排序 方法一: sorted(d.items(),key = lamb ...
- 对复杂字典Dictionary<T1,T2>排序问题
原文:对复杂字典Dictionary<T1,T2>排序问题 //VoltageCount类(电压值对应的数量): public class VoltageCount { ...
- 如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示
/// <summary> /// 获取图片库第一层文件夹--根据文件夹名称排序 /// </summary> /// <param name="siteUrl ...
- python内置数据类型-字典和列表的排序 python BIT sort——dict and list
python中字典按键或键值排序(我转!) 一.字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序. Py ...
随机推荐
- Roslyn Cookbook
Roslyn Cookbook by Manish Vasani Publisher: Packt Publishing Release Date: July 2017 ISBN: 978178728 ...
- BlurZoomGallery一个完美下拉进入大图模式
BlurZoomGallery一个完美的Gallery和view的事件处理,下拉放大的时候gallery不断的在添加高度,gallery效果在放大,实现下拉进入大图模式,view滑动事件和galler ...
- ansj
Ansj中文分词使用教程 Ansj中文分词使用教程:https://blog.csdn.net/a822631129/article/details/52331202 ansj分词史上最详细教程:ht ...
- mab算法
https://zhuanlan.zhihu.com/p/21388070?refer=resyschina 专治选择困难症——bandit算法 改善:https://zhuanlan.zhihu.c ...
- MPI Maelstrom-单源最短路-Djsktra
BIT has recently taken delivery of their new supercomputer, a 32 processor Apollo Odyssey distribute ...
- SQL Server 事件探查器和数据库引擎优化顾问
简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底是做什么用的呢?我们都知道探查的意思大多是和监视有关,其实这个SQL S ...
- linux下进程查找和杀死
比如杀死进程中叫 abc的进程 1.ps -ef |grep abc|awk '{print $2}' xargs kill -9 2.kill `pidof abc` `位于tab键 ...
- Shiro在Spring session管理
会话管理 在shiro里面可以发现所有的用户的会话信息都会由Shiro来进行控制,那么也就是说只要是与用户有关的一切的处理信息操作都可以通过Shiro取得,实际上可以取得的信息可以有用户名.主机名称等 ...
- zabbix 利用python脚本实现钉钉告警
Zabbix 利用python脚本实现钉钉告警 1.安装python3.6环境 2.创建python脚本 cd local/zabbix-4.0.3/share/zabbix/alertscripts ...
- stevedore动态加载模块
stevedore动态加载模块,stevedore使用setuptools的entry points来定义并加载插件.entry point引用的是定义在模块中的对象,比如类.函数.实例等,只要在im ...