2010-12-15 7 views
1

Gibt es einen generischen Sammlertyp für .Net, der Set- und Dictionary-Semantik kombiniert, so dass ich nur Elemente speichern kann, aber auch schnell aussehen kann. Ups durch einen Schlüssel, der von jedem Gegenstand abgeleitet ist? Etwas wie folgt aus:.Net-Datenstruktur, die Satz- und Wörterbuchsemantik kombiniert

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

Wie wirkt sich das aus einem Wörterbuch unterscheiden, die mit verwendet wird? – Joe

+1

@Joe: Ein Dictionary würde 'foos.Add (" X234 ", neues Foo {ID =" X234 ", Descr =" One foo "}) erfordern;', was überflüssig, langwierig und fehleranfällig ist. Ich könnte eine Hilfsmethode schreiben, aber dann muss ich daran denken, sie immer zu benutzen. –

+0

mögliches Duplikat von [Gibt es eine Wörterbuch-ähnliche Sammlung, die eine Eigenschaft ihres Werts als Schlüssel verwenden kann?] (Http://stackoverflow.com/questions/1773950/is-there-a-dictionary-like-collection-that -can-verwenden-eine-Eigenschaft-von-ihr-Wert-als-th) – nawfal

Antwort

Verwandte Themen