0

降順でソートされた辞書があります。各文字列(キー)は用語であり、int(値)はそのカウントです。最初のカウントを取得するにはどうすればよいですか?最大カウント(頻度)を指しているので……よろしくお願いします。

Just to inform some of whom commented that the dictionary<string,int> will change its
rank. Be sure, if you are grouping  the dictionary by its count, there is no problem  
with the order . Always the dictionary will come with highest count at first.
4

4 に答える 4

6

「辞書を降順で並べ替える」とはどういう意味ですか?Dictionary<TKey,TValue>定義上、ソートされていません!どういう意味SortedDictionary<TKey,TValue>ですか?その場合は、次を使用できます。

var firstCount = sortedDictionary.First().Value;
于 2012-05-08T11:07:02.920 に答える
1

注文を維持することに依存することはできませんDictionary(もちろんそれを除いてOrderedDictionary)。を使用している場合はOrderedDictionary、そのインデクサーを使用できます。

var maximumCount = myDictionary[0];

また

var maximumCount = myDictionary.First().Value;

編集:辞書全体で最大のカウントが必要な場合は、これを使用することもできます:

var maximumCount = myDictionary.Max(entry => entry.Value);
于 2012-05-08T11:08:22.530 に答える
0

以下はどうですか

yourDictionary.First().Value

値を追加すると、順序が変わる可能性があることに注意してください

MSDNはそれについて警告します

http://msdn.microsoft.com/en-us/library/ekcfxy3x(v=vs.100).aspx

于 2012-05-08T11:07:29.287 に答える
0

間違ったタイプの辞書を使用していると思います。OrderedDictionary<>代わりに使用してください。それはあなたに保証された注文とインデクサーを提供します。

OrderedDictionary list = new OrderedDictionary();

// add a bunch of items

int firstValue = (int)list[0];

OrderedDictionaryの唯一の欠点は、汎用ではないことですが、汎用にする方法は次のとおりです。 http://www.codeproject.com/Articles/18615/OrderedDictionary-TA-generic-implementation-of-IO

于 2012-05-08T11:10:38.693 に答える