之前不知道有这东西,只知道dictionary,key-value,查东西特别快
(dictionary中算法做过一些优化,dic.containkey比list.contain要快很多,前者o(1),后者o(n))
后来才知道dictionary有排序的功能
好的文章如
http://www.cnblogs.com/5696-an/p/5625142.html
1.添加
using System.Linq;
2.升序排序(OrderBy)、降序排序(OrderByDescending):
Dictionary<int,string> dic1_SortedByKey = dic1.OrderBy(p=>p.Key).ToDictionary(p => p.Key, o => o.Value);
看代码也能猜出是根据key进行一个排序(,从小到大)。
Dictionary<int,Tclass> dic1_SortedByKey = dic1.OrderBy(o => o.Value.stuAge).ToDictionary(p=>p.Key,o=>o.Value);
根据value中类的某一属性排序Tclass中的属性stuAge
3.Dictionary<int,Tclass> dic1_SortedByKey = dic1.OrderBy(o => o.Value.stuScore).ThenByDescending(o=>o.Value.stuAge).ToDictionary(p=>p.Key,o=>o.Value);
先按照value中的stuScore排序再按照stuAge排序
网友评论