之前不知道有這東西斥杜,只知道dictionary,key-value沥匈,查東西特別快
(dictionary中算法做過(guò)一些優(yōu)化蔗喂,dic.containkey比list.contain要快很多,前者o(1),后者o(n))
后來(lái)才知道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);
看代碼也能猜出是根據(jù)key進(jìn)行一個(gè)排序(弱恒,從小到大)。
Dictionary<int,Tclass>?dic1_SortedByKey = dic1.OrderBy(o => o.Value.stuAge).ToDictionary(p=>p.Key,o=>o.Value);
根據(jù)value中類(lèi)的某一屬性排序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排序