日期:2014-05-18  浏览次数:21191 次

SortedDictionary如何按VALUE排序?我找了很多都找不到,或者使用ARRAY转换存再排序,有没有优雅的方法?
SortedDictionary如何按VALUE排序?我找了很多都找不到,或者使用ARRAY转换存再排序,有没有优雅的方法?

它的CONSTRUCTOR也只能提供一个TKEY的比较过程进去,但我要按VALUE,不是按KEY



------解决方案--------------------
颠倒一下吧
C# code
SortedDictionary<int, string> sortedDictionary =
    new SortedDictionary<int, string>();
sortedDictionary.Add(3, "第三");
sortedDictionary.Add(1, "第一");
sortedDictionary.Add(2, "第二");
foreach (int vKey in sortedDictionary.Keys)
    Console.WriteLine(sortedDictionary[vKey]);

------解决方案--------------------
排序是很快的,因为内核采用的是Quick(快速排序法)
时间会慢在数据的复制(CopyTo)和分配上(new)
记录在千条这个级别一般感觉不大
上万条后最好用数据库来处理