C# 键值对数据排序

 

        public static void SortDicWithLinq(){
            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");

            Console.WriteLine("Org===============");
            travelDicKeyDate(dd);

            Dictionary<DateTime, String> dicAsc = dd.OrderBy(p => p.Key).ToDictionary(p => p.Key, p => p.Value);
            Console.WriteLine("Asc===============");
            travelDicKeyDate(dicAsc);

            Dictionary<DateTime, String> dicDesc = dd.OrderByDescending(p => p.Key).ToDictionary(p => p.Key, p => p.Value);
            Console.WriteLine("Desc===============");
            travelDicKeyDate(dicDesc);
        }
        public static void travelDicKeyDate(Dictionary<DateTime, String> dic)
        {
            foreach (KeyValuePair<DateTime,String> kvp in dic)
            {
                Console.WriteLine(String.Format("{0}  {1}",kvp.Key,kvp.Value));
            }
        }

output:

Org===============
2013/9/27 11:07:29  bbb
2013/9/26 11:07:29  ccc
2013/9/28 11:07:29  aaa
Asc===============
2013/9/26 11:07:29  ccc
2013/9/27 11:07:29  bbb
2013/9/28 11:07:29  aaa
Desc===============
2013/9/28 11:07:29  aaa
2013/9/27 11:07:29  bbb
2013/9/26 11:07:29  ccc

http://blog.csdn.net/shellching/article/details/8617411
时间: 2024-08-02 15:14:42

C# 键值对数据排序的相关文章

怎么实现从后台获取到的键值对数据判断相同累加,不相同新增?

问题描述 怎么实现从后台获取到的键值对数据判断相同累加,不相同新增? 例如我后台有 三个map {"1",2} {"2",3} {"1",1} 我最后想得到的是 {"1",3} {"2",3} 请问怎么实现 解决方案 if(map.containsKey(1)){ map.get(1)+1; } 解决方案二: 没看懂你是什么意思啊,是用上一个的值比较下一个的key吗.就循环判断比较呗 解决方案三: map是

TomP2P 4.0.0发布 高性能键值对数据的存储库

TomP2P 4.0.0 版本能够更好地支持UPnP和新的NAT-PMP(jNAT PMPlib).支持新的持久连接,新的连接处理和保留.升级后的库包含:Netty.Guava 和 BerkleyDB.以及多个问题的修复. TomP2P是一个基于P2P的高性能键值对数据的存储库.每个值对数据有一个表(基于磁盘或内存)来存储自己的值.单一的值可以用于查询或更新次要的键.通信的基础框架使用Java NIO来处理多个并发连接. 软件信息:http://freecode.com/urls/47f4cca

Python如何根据键值对字典排序并逐个列出其Key

问题描述 新学Python,请问如何根据键值对字典排序并逐个列出其Key?比如students = {'Alex': 97,'Ben': 95,'Kyoto': 87}需要从高到低排序Alex,Ben,Kyoto.越简洁越好,尽量不要使用Lamda. 解决方案 print ','.join(sorted(std, key=std.get, reverse = True)这样应该可以,在stackoverflow上看到过类似的问题,就记下来了.英文还可以的话多去那看看.解决方案二:http://w

TomP2P 4.0.5发布 高性能键值对数据的存储库

TomP2P是一个基于P2P的高性能键值对数据的存储库.每个值对数据有一个表(基于磁盘或内存)来存储自己的值.单一的值可以用于查询或更新次要的键.通信的基础框架使用Java NIO来处理多个并发连接. TomP2P 4.0.5该版本修复了维护线程问题和绑定错误,增加了在测试的情况下,拒绝连接,并增加了对SimGrid的初步支持. 软件信息:http://tomp2p.net/ 下载地址: http://tomp2p.net/dev/mvn/net/tomp2p/TomP2P/4.0.5/TomP

TomP2P 4.0.6发布 高性能键值对数据的存储库

TomP2P是一个基于P2P的高性能键值对数据的存储库.每个值对数据有一个表(基于磁盘或内存)来存储自己的值.单一的值可以用于查询或更新次要的键.通信的基础框架使用Java NIO来处理多个并发连接. TomP2P 4.0.6该版本能更好的超时处理,可以使用Peer.setFutureTimeout()来设置今后任何对象的超时.修复了跟踪代码和对等交换.有一个标志来执行UDP或TCP的RPC调用.Netty的一个问题解决与Android的最新更新. 软件信息:http://tomp2p.net/

TomP2P 4.0.3发布 高性能键值对数据的存储库

TomP2P是一个基于P2P的高性能键值对数据的存储库.每个值对数据有一个表(基于磁盘或内存)来存储自己的值.单一的值可以用于查询或更新次要的键.通信的基础框架使用Java NIO来处理多个并发连接. < TomP2P 4.0.3该版本支持digest() 和 digestAll(),Netty 3.2.7升级,更好的连接处理,和错误路由修正,支持Android和存储功能. 软件信息:http://tomp2p.net/ 下载地址: http://tomp2p.net/dev/mvn/net/t

php对二维数组按指定键值key排序示例代码_php技巧

复制代码 代码如下: function array_sort($array, $key){ if(is_array($array)){ $key_array = null; $new_array = null; for( $i = 0; $i < count( $array ); $i++ ){ $key_array[$array[$i][$key]] = $i; } ksort($key_array); $j = 0; foreach($key_array as $k => $v){ $ne

php 二维数组按指定的键值排序

具体实例  代码如下 复制代码 /*二维数组按指定的键值排序*/ function array_sort($array,$keys,$type='asc'){  if(!isset($array) || !is_array($array) || empty($array)){   return '';  }  if(!isset($keys) || trim($keys)==''){   return '';  }  if(!isset($type) || $type=='' || !in_ar

通过分区键值发现性能问题

在很多应用中如果数据量少有规模,都会有大量的分区表存在,使用比较多的是range partition. 一般的range partition都一时间为键值,或者根据业务绑定的关键id值. 虽然已经做了一些大数据量的数据迁移,但是不管是按照分区抽取,还是根据数据条数抽取,发现有一个表比较奇怪,一个100G左右的分区表,80%以上的数据都分布在一个分区里面,而这个大分区表却有180多个分区表. 如下所示,对于表charge,如果分区的大小在200M以内,就标记为1,如果大于200M,则按照200M为