上文中说到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 按时间排序的更多相关文章

  1. C#字典Dictionary排序(顺序、倒序)

    这里是针对.NET版本过低的排序方式,没怎么用过,记录一下: 一.创建字典Dictionary 对象 假如 Dictionary 中保存的是一个网站页面流量,key 是网页名称,值value对应的是网 ...

  2. 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 ...

  3. C#创建安全的字典(Dictionary)存储结构

    在上面介绍过栈(Stack)的存储结构,接下来介绍另一种存储结构字典(Dictionary). 字典(Dictionary)里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而 ...

  4. python字典按照value进行排序

    先说几个解决的方法,具体的有时间再细说 d = {'a':1,'b':4,'c':2} 字典是这个,然后要对字典按照value进行排序 方法一: sorted(d.items(),key = lamb ...

  5. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  6. python字典按照value进行排序.bak

    先说几个解决的方法,具体的有时间再细说 d = {'a':1,'b':4,'c':2} 字典是这个,然后要对字典按照value进行排序 方法一: sorted(d.items(),key = lamb ...

  7. 对复杂字典Dictionary<T1,T2>排序问题

    原文:对复杂字典Dictionary<T1,T2>排序问题 //VoltageCount类(电压值对应的数量):    public class VoltageCount    {     ...

  8. 如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示

    /// <summary> /// 获取图片库第一层文件夹--根据文件夹名称排序 /// </summary> /// <param name="siteUrl ...

  9. python内置数据类型-字典和列表的排序 python BIT sort——dict and list

    python中字典按键或键值排序(我转!)   一.字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序. Py ...

随机推荐

  1. Linux下MySQL5.7.18二进制包安装(手动添加配置文件my_default.cnf)

    本文出处:http://www.cnblogs.com/wy123/p/6815049.html 最新在学习MySQL,纯新手,对Linux了解的也不多,因为是下载的最新版的MySQL(MySQL5. ...

  2. UI简单工作

     UI用户界面 需求——效果图——风格设计——高保证效果——html 网页的宽度=屏幕的宽度-纵向滚动条的宽度 企业网站一般是1280 根据百度流量研究所 目前我们的网页注主要是1024和1200   ...

  3. The iOS 7 Design Cheat Sheet

    http://ivomynttinen.com/blog/the-ios-7-design-cheat-sheet/

  4. Kubernetes K8s

    1 Kubernetes入门及概念介绍 Kubernetes(K8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.开源将Docker 看成Kubernetes内部使用的低级别组 ...

  5. hdu1576-A/B-(同余定理+乘法逆元+费马小定理+快速幂)

    A/B Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  6. gdb 常用调试命令

    1.   file    quit 2.   frame bt 3.   finish 运行程序,直到当前函数完成返回,并打印函数返回时的堆栈地址和返回值及参数信息. until 当要退出在一个循环体 ...

  7. vue watch,computed,metods的区别

    通俗来讲:computed是在HTML DOM加载后马上执行的,如赋值:而methods则必须要有一定的触发条件才能执行,如点击事件:watch呢?它用于观察Vue实例上的数据变动.对应一个对象,键是 ...

  8. 使用openshit在ubuntu14.04下一键部署openstack(juno版本)

    一.基本介绍 本实验是在vmware workstation上虚拟机ubuntu14.04(64bit,desktop)上部署openstack(Juno版本).采用的工具是openshit.open ...

  9. Spark Streaming之五:Window窗体相关操作

    SparkStreaming之window滑动窗口应用,Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作.每次掉落在窗口内的RDD的数据,会被聚 ...

  10. spring中的bean的属性scope

    spring中bean的scope属性,有如下5种类型: singleton 表示在spring容器中的单例,通过spring容器获得该bean时总是返回唯一的实例 prototype表示每次获得be ...