キーが重複する可能性のある辞書のようなクラスを探しています。
それについて検索したところ、LookUpクラスを使用して重複キーを格納できることがわかりましたが、デフォルトのコンストラクターがないため、LookUpの他のオブジェクトがないと初期化できません。
しかし、最初はルックアップオブジェクトを初期化できるようなオブジェクトはありません。
だから、私の質問は、.Net Framework 3.5に、辞書のように動作するが、LookUpのように重複するキーを持つことができるクラスはありますか?
ディクショナリは、定義上、同じ値を持つ複数のキーを持つことはできません。 (キーを検索した場合、何を返しますか?)参照しているルックアップでさえ、それを許可していません。 canすることは、各キーに複数の値(技術的にではなく論理的に)を参照させることです。これは、値がその特定のキーに対応するすべての値を含むある種のデータ構造(たとえば、List
)であるディクショナリを持つことによって行われます。
キーと値のペアのリストを作成できます。
List<KeyValuePair<string,int>>
リストの辞書を使用して、自分で型を作成できます。Dictionary<TKey, List<TValue>>
そのクラスを継承するクラスを作成し、特定のキーの最初のアイテムの新しいリストの作成を処理する適切なadd-methodsなどを追加できます。