2009-08-04 9 views
21

私は、場合によっては最初のセットがもう一方のセットのキーとして使用される2つのオブジェクトセットを持ち、それ以外のセットでは最初のセットのキーとして2番目のセットが使用されます。さらに、どちらのリストにも重複がない必要があります。双方向辞書ですか?

これにはどのようなデータ構造が適していますか?このために2つの辞書を使用すべきか、よりスマートな方法が必要ですか?

+4

Jon Skeet @ http://stackoverflow.com/questions/255341/getting-key-of-value-of- a汎用辞書#255630。そして、はい、これを達成するための標準的な方法は2つの辞書を使用することです。 – Falaina

答えて

8

データ構造をよく知っている人は、おそらくより良い助言を与えることができますが、個人的には使いやすさのために2つの辞書を使用します。 1つの辞書で同じことができますが、アクセス時間が長くなります。

編集:がらくたは、私はちょうど私がそれを行うだろうかいくつかのコードを書くプロセスにあったと私はFalainaは私だけはるかに良いやっていたのと同じ考え方である。この投稿ことを見た:Getting key of value of a generic Dictionary?

+0

O、nice。この質問の答えとしてこれを受け入れるだろう:) – Svish

2

これは、通常、双方向マップと呼ばれます。 PowerCollectionsが好きでない場合は、ここにカスタム実装があります:Bidirectional 1 to 1 Dictionary in C#