2010-12-15 16 views
1

セットとディクショナリのセマンティクスを組み合わせた.Net用のすぐ使える汎用コレクションタイプがあります。これは、アイテムを格納するだけですが、各項目から派生したいくつかの鍵によってアップアップ?このような何か:。セットセマンティクスと辞書セマンティクスを組み合わせたネットデータ構造

var foos = new KeyedSet<string, Foo>(foo => foo.ID); 

foos.Add(new Foo { ID = "X234", Descr = "One foo" }); 
foos.Add(new Foo { ID = "Q909", Descr = "Another foo" }); 

Console.WriteLine("Foo Q909 is {0}", foos["Q909"].Descr); 
+0

どのようにこれはで使用される辞書に違うのですか? – Joe

+1

@Joe:辞書は、冗長で退屈でエラーを起こしやすい 'foos.Add(" X234 "、新しいFoo {ID =" X234 "、Descr =" One foo "});'を必要とします。私はヘルパーメソッドを書くことができましたが、私はいつもそれを使うことを忘れないでください。 –

+0

[キーの値のプロパティをキーとして使用できるコレクションのような辞書はありますか?](http://stackoverflow.com/questions/1773950/is-there-a-dictionary-like-collection-thatその価値としての価値のある性質を使用することができます – nawfal

答えて

3
+0

パーフェクト!私は 'System.Collections.ObjectModel'名前空間について聞いていませんでした。どうもありがとうございました。 –