簡體   English   中英

C#字典 <char,int> 選擇具有最大價值的鑰匙

[英]c# Dictionary<char,int> picking the key with the largest value

我有一個Dictionary<char, int> charstat來統計一個字符的出現。 我想從這本詞典中獲得5個最常見的字符數。 如何去做。

一些示例數據:

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

從這個我想得到最大數量的順序:

Q
Z
C
B
A

我想從這本詞典中獲得5個最常見的字符數。

var item = charstat.OrderByDescending(r => r.Value)
                          .Select(r => r.Key)
                          .Take(5);
  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);
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM