辞書ではなく、VALUEキーでソートされたソート順で反復処理する方法はありますか? 私は "SortedDictionary"オブジェクトにアクセスしましたが、悲しいことに、キーでソートされています。 私の値を使ってすべてのキーをフリップし、SortedDictionaryに配置することが1つの解決策です(すべて整数なので)。 - しかし、どのようにすればよいか全くわかりません。C#辞書で反復処理する値で並べ替え
答えて
キー/値のペアを取り出し、ソートして繰り返します。完了するために
foreach(var pair in dictionary.OrderBy(p => p.Value)) {
// work with pair.Key and pair.Value
}
ああ、ありがとう! :)それは私が必要とするもののように正確に見えます。このLINQ私は聞いて、それは何ですか? –
@ GeogesOatesLarsen:それはあなたがそれを使用しないことで欠けているものです。あなたは[this](http://msdn.microsoft.com/en-us/library/bb308959.aspx)またはGoogleにそれを読んでほしいかもしれません。 – Jon
、カスタムタイプ用(dictionary.OrderByた(p => p.Value)) "しません" 仕事上で示唆コード:LINQを使用してデッド簡単。
OrderByは、2つのオブジェクトを比較できるようにIComparableを使用します。辞書の値がカスタムタイプの場合、はが適切な方法で値をソートできるようにIComparableを実装する必要があります。
hereで読んでください。値で//ソート辞書
"IComparableを実装する必要があります" - 必ずしもそうである必要はありません。 OrderBy()には2つのオーバーロードがあります。それらのうちの1つは記述どおりに動作しますが、2つ目はカスタムIComparableオブジェクトを受け入れますので、任意の値型を並べ替えることができます。 – DXM
@DXM、もう一つのオーバーロードはそれほど意味をなさない 'IComparable'ではなく' IComparer'を受け入れます。また、これは値型とは関係がありませんが、どの型に対しても同じように動作します。 – svick
@svick - タイプミスに悪いですが、そうです、それはIComparerですが、OPは何を求めているのでしょうか?独自のcomparerオブジェクトを作成して、必要なものを比較してOrderBy()に渡すことができます。そして、「価値」によって私は価値対参照を意味しませんでした。私は価値対鍵を意味しました。私はcomparerが値型と参照型で動作することを理解しています。この回答に同意すれば、OrderByはIComparableを実装するタイプでしか使用できません。その2番目のオーバーロードが何であるか説明できますか? – DXM
foreach (KeyValuePair<datatype, datatype> item in dictionary)
{
//do something by value....accessing item.value
}
- 1. 辞書を値で並べ替える場合は
- 2. 辞書のNSArrayを辞書のキーの値で並べ替えます
- 3. 辞書学的に並べ替え
- 4. 並べ替え辞書はランダム
- 5. Python - 辞書の各値を並べ替える
- 6. djangoコンテキスト用の辞書でタプル値を反復処理する方法
- 7. 値で辞書を並べ替えるのが難しいです
- 8. Pythonで辞書キーを並べ替える
- 9. Pythonでタプルの辞書を並べ替える
- 10. キーでPython辞書を並べ替える
- 11. Python:辞書のリストをいくつかの値で並べ替えるには?
- 12. 値に基づいて降順で並べ替えるpython辞書
- 13. 並べ替えで並べ替え
- 14. 辞書を周波数の数で並べ替えるトップ3000 c#
- 15. djangoテンプレートのディクショナリで辞書を反復処理する方法は?
- 16. 辞書順の文字列を並べ替えるpython
- 17. operator.itemgetterを使用して辞書を並べ替える
- 18. 辞書キーによるNSFetchedResultsControllerの並べ替え
- 19. VBAのキーによる辞書の並べ替え
- 20. 1つの辞書を別のiPhoneと並べ替える
- 21. PYTHONテキストファイルから辞書を並べ替える
- 22. Pythonソート値リスト、値で並べ替え
- 23. 配列を辞書に並べ替えます。
- 24. ループで値を並べ替える
- 25. Javascriptオブジェクトを値で並べ替える
- 26. C++で別のベクトルと並べ替えてベクトルを並べ替える
- 27. C++、stl、キーではなく値で並べ替える方法
- 28. ネストされた辞書の値に基づいてPythonの辞書を並べ替える
- 29. サブ辞書キーを使用した並べ替え
- 30. 反復処理
はどのくらいの頻度でそれを行う必要がありますか?それはいかに効率的でなければなりませんか?あなたはより速いスピードでメモリを交換したいですか? – svick
これは約500回の結果でしか動作しません。常により大きなスピードのためにメモリを交換して喜んで:D –