私は、場合によっては最初のセットがもう一方のセットのキーとして使用される2つのオブジェクトセットを持ち、それ以外のセットでは最初のセットのキーとして2番目のセットが使用されます。さらに、どちらのリストにも重複がない必要があります。双方向辞書ですか?
これにはどのようなデータ構造が適していますか?このために2つの辞書を使用すべきか、よりスマートな方法が必要ですか?
私は、場合によっては最初のセットがもう一方のセットのキーとして使用される2つのオブジェクトセットを持ち、それ以外のセットでは最初のセットのキーとして2番目のセットが使用されます。さらに、どちらのリストにも重複がない必要があります。双方向辞書ですか?
これにはどのようなデータ構造が適していますか?このために2つの辞書を使用すべきか、よりスマートな方法が必要ですか?
データ構造をよく知っている人は、おそらくより良い助言を与えることができますが、個人的には使いやすさのために2つの辞書を使用します。 1つの辞書で同じことができますが、アクセス時間が長くなります。
編集:がらくたは、私はちょうど私がそれを行うだろうかいくつかのコードを書くプロセスにあったと私はFalainaは私だけはるかに良いやっていたのと同じ考え方である。この投稿ことを見た:Getting key of value of a generic Dictionary?
O、nice。この質問の答えとしてこれを受け入れるだろう:) – Svish
そこにはいくつかのマルチキーコレクションがあります。試してみてください:
http://powercollections.codeplex.com/
または
http://www.codeproject.com/KB/recipes/multikey-dictionary.aspx
Wintellectの電源のコレクションは、おそらく起動するには絶好の場所です。彼らはテスト済みのMultiDictionaryをパッケージの一部として持っています。
これは、通常、双方向マップと呼ばれます。 PowerCollectionsが好きでない場合は、ここにカスタム実装があります:Bidirectional 1 to 1 Dictionary in C#
Jon Skeet @ http://stackoverflow.com/questions/255341/getting-key-of-value-of- a汎用辞書#255630。そして、はい、これを達成するための標準的な方法は2つの辞書を使用することです。 – Falaina