4

1 対 1 の場合は、ハッシュまたは辞書を使用できます。たとえば、スミスは 26 歳、ブラウンは 35 歳です。これは明らかです。1対多はどうですか?たとえば、Smith は class01、class08、class12 に出席し、Brown は class01、class05、および class08 に出席します。私の代替手段は何ですか?最良の選択は何ですか?

4

6 に答える 6

9

を引き続き使用できDictionaryますが、値の型をコレクションにする必要がありますDictionary<Person, IList<Class>>。これにより、個人ごとのクラスのリストを保存できます。

于 2012-08-30T19:29:10.840 に答える
4

2 番目のタイプとして、List を持つ Dictionary を使用できます。

たとえば、Student クラスと Class クラスがある場合、

Dictionary<Student, List<Class>>
于 2012-08-30T19:29:04.470 に答える
1

リストを値として持つハッシュまたは辞書を持つことができます。例:

var d = new Dictionary<string,List<string>> {
    { "Smith", new List<string> { "class01", "class08", "class12" } },
    { "Brown", new List<string> { "class01", "class05", "class08" } }
};
于 2012-08-30T19:30:08.277 に答える
1

タイプを使用できますLookup<TKey, TValue>。ほぼ辞書のように機能しますが、等しいキーを挿入できます。詳細については、MSDN の記事http://msdn.microsoft.com/en-us/library/bb460184.aspxを参照してください。

于 2012-08-30T19:29:47.577 に答える
0

使用できます

Dictionary<string, List<object>> OneToManyDictionary;
于 2012-08-30T19:31:03.500 に答える
0

Personクラスで定義されているエンティティオブジェクトを作成します。さまざまな属性とコレクションを表すために、クラスにプロパティがあります。

For example (pseudo-code)
Person class
  Age Property (int)
  Class Property (List)
... etc.
于 2012-08-30T19:33:42.740 に答える