c#Dictionary <char,int>选择具有最大值的键</char,int>

时间:2013-06-07 07:27:46

标签: c# sorting dictionary

我有一个Dictionary<char, int> charstat来计算一个角色的出现次数。我想从这本词典中获得5个最常见的字符数。如何做到这一点。

一些示例数据:

 <'T', 1>
 <'A', 2>
 <'C', 5>
 <'Q', 10>
 <'B', 3>
 <'Z', 7>

从此我想得到最大数量的顺序:

Q
Z
C
B
A

2 个答案:

答案 0 :(得分:5)

  

我想从这本词典中获得5个最常见的字符数。

var item = charstat.OrderByDescending(r => r.Value)
                          .Select(r => r.Key)
                          .Take(5);

答案 1 :(得分:2)

  Dictionary<char, int> dir = new Dictionary<char, int>();
  // ...
  var query = (from p in dir
              orderby p.Value descending
              select p).Take(5);
  foreach (var item in query) {
    Console.Out.WriteLine("Char: {0}, Count: {1}", item.Key, item.Value);
  }
相关问题