我有一个Dictionary<char, int> charstat
来计算一个角色的出现次数。我想从这本词典中获得5个最常见的字符数。如何做到这一点。
一些示例数据:
<'T', 1>
<'A', 2>
<'C', 5>
<'Q', 10>
<'B', 3>
<'Z', 7>
从此我想得到最大数量的顺序:
Q
Z
C
B
A
答案 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);
}