辞書ではなく、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. 辞書の並べ替えと並べ替え
- 3. 値でダブル辞書を並べ替える方法(Python3)
- 4. 配列のPythonで辞書の値を並べ替える
- 5. 辞書を値で並べ替える場合は
- 6. Pythonでの辞書リストの集計値で並べ替え
- 7. 辞書のNSArrayを辞書のキーの値で並べ替えます
- 8. 辞書内でのPython辞書の並べ替え
- 9. Cでの単語の辞書順の並べ替え
- 10. 値で辞書のスワイプ配列を並べ替え
- 11. JAVAツリー並べ替え辞書
- 12. アルファベット順の辞書の並べ替え
- 13. 並べ替え辞書swift 3.0
- 14. 辞書学的に並べ替え
- 15. 並べ替え辞書はランダム
- 16. 辞書内の辞書を並べ替えるpython
- 17. Python - 辞書の各値を並べ替える
- 18. 値で辞書を並べ替えるのが難しいです
- 19. djangoコンテキスト用の辞書でタプル値を反復処理する方法
- 20. C#複数の値で並べ替え
- 21. どのように並べ替えの範囲を反復処理するのですか?
- 22. キーでPython辞書を並べ替える
- 23. 辞書を日付で並べ替えるSwift 3
- 24. Pythonで辞書キーを並べ替える
- 25. 辞書のリストを任意の順序で並べ替える
- 26. 曜日名で辞書の配列を並べ替えるswift3
- 27. Pythonでタプルの辞書を並べ替える
- 28. 辞書のタイムスタンプでTableViewを並べ替える
- 29. C-反復処理*
- 30. 辞書を周波数の数で並べ替えるトップ3000 c#
はどのくらいの頻度でそれを行う必要がありますか?それはいかに効率的でなければなりませんか?あなたはより速いスピードでメモリを交換したいですか? – svick
これは約500回の結果でしか動作しません。常により大きなスピードのためにメモリを交換して喜んで:D –