上文中说到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 />");
}

最新文章

  1. .NET静态变量与静态方法并发的问题
  2. spark job, stage ,task介绍。
  3. 说说设计模式~ 模版模式(Template)
  4. Oracle 删除大表中部分数据
  5. [Effective JavaScript 笔记]第19条:熟练掌握高阶函数
  6. 有关Duilib的博客(持续更新)
  7. sql server Geometry 类型操作 笔记
  8. minicom移植到ARM开发平台
  9. 在linux下用tomcat部署java web项目的过程与注意事项(转)
  10. Codeforces #550 (Div3) - G.Two Merged Sequences(dp / 贪心)
  11. Leetcode | 组目录
  12. Oarcle之事务
  13. 2.Diango学习
  14. JQuery常见事件
  15. 如何在Skyline中加载ArcGISServer发布的WMS和WMTS服务
  16. 015.Linux系统删根数据恢复
  17. Java和.Net在做BS结构项目的比较
  18. Code once, debug everywhere.
  19. FZU2150 :Fire Game (双起点BFS)
  20. Android 使用RecyclerView SnapHelper详解

热门文章

  1. 简单全局HOOK拦截大部分键盘消息
  2. javascript:getElementsByName td name
  3. 连接mysql连接不上遇到的问题
  4. js 遍历行和列
  5. 吴裕雄 python 爬虫(4)
  6. webpack相关配置
  7. opencv批量读取图片
  8. mongodb副本集的从库永久性设置setSlaveOk
  9. Java中的IO流,Input和Output的用法,字节流和字符流的区别
  10. new.target