从Hashtable获取顶级元素

时间:2014-04-10 06:13:23

标签: c# .net dictionary hashtable time-complexity

朋友我知道Hastable无法排序,但由于复杂性很高,我必须在字典上使用Hashtable。现在我处于需要从Hashtable获得最多(最多)3个元素的状态。请告诉我任何最简单的方法,因为我处理数百万行。

.....................

输入

.....................

hashtable.Add("A", 1000);    
hashtable.Add("B", 500);    
hashtable.Add("C", 700);   
hashtable.Add("D", 800);    
hashtable.Add("E", 400);   
hashtable.Add("F", 300);

.....................

输出

.....................

("A", 1000), ("D", 800) and ("C",700)

1 个答案:

答案 0 :(得分:1)

hashtable.Cast<DictionaryEntry>().OrderBy(entry => entry.Value).Take(3);