2012-05-08 23 views
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. 
+1

'dict.First()' ?! http://stackoverflow.com/a/436957/284240 ['OrderedDictionary'](http://msdn.microsoft.com/en-us/library/system.collections.specialized.ordereddictionary.aspx ) –

+0

辞書はハッシュテーブルです。それらはソートされていません。いくつかのコードを見せてください。 – Steven

+0

@Tim SchmelterはDict.valueを意味しています....そうですか? – FSm

答えて

6

「降順でソートされた辞書」とはどういう意味ですか?定義によるDictionary<TKey,TValue>はソートされていません! SortedDictionary<TKey,TValue>を意味しますか?その場合は、使用することができます。

var firstCount = sortedDictionary.First().Value; 
+0

いいえ、それはちょうど辞書ですが、私はその値でそれを掘り下げました – FSm

+0

SortedDictionaryは降順または値で並べ替えをサポートしていません(私はここにあると信じています)。 –

+0

@Chris、そうです。私はそれについて確信しています。 – FSm

0

何以下

yourDictionary.First().Value 

クマについての心の中であなたはより多くの値を追加すると、それは非常によく

MSDNはその

について警告順序変更される可能性があること

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

+0

しかし、私の辞書は常に最初の – FSm

1

に依存することはできません10(もちろん、OrderedDictionaryは例外です)

var maximumCount = myDictionary[0]; 

または

var maximumCount = myDictionary.First().Value; 

EDIT:あなたは辞書全体で最高のカウントをしたい場合は、あなたもちょうどこのを使用することができます。

あなたが OrderedDictionaryを使用している場合は、そのインデクサーを使用することができます
var maximumCount = myDictionary.Max(entry => entry.Value); 
+0

@ Botzの中で最高のカウントを持っていますが、あなたは正しいですが、私はすでに返された各dicの各Maxcountを配列[int]に入れています。通知のおかげで。 – FSm

0

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

OrderedDictionary list = new OrderedDictionary(); 

// add a bunch of items 

int firstValue = (int)list[0]; 

OrderedDictionaryとの唯一の欠点は、それがジェネリックではないということですが、ここであなたはそれが一般的な作ることができる方法です。 http://www.codeproject.com/Articles/18615/OrderedDictionary-T-A-generic-implementation-of-IO

+0

何も間違っていると思います。私の辞書は常に最初の数字が最高です。 – FSm

+0

@Qaesar - 辞書<コレクションの順序は、項目を追加したときと同じ順序であるとは限りません。今のところ動作しているように見えるかもしれませんが、プロダクションでは適切な結果が得られない可能性があります。私はあなたが株式ティッカーまたはあらゆるタイプの金融商品を書いていないことを願っています。 –

+0

haha​​ ...いいえ金融商品のタイプではありません。しかし、それは問題ではないと私は信じています。なぜなら、私はディックのすべての価値を一度返すからです。 – FSm

関連する問題