Wie kann ich konvertieren List
Frage
Ich habe eine Liste von Objekten, die jeweils eine Id, Code und Beschreibung.
Ich brauche diese Liste in eine Hashtable zu konvertieren, mit Beschreibung: als Schlüssel und Id als Wert.
Dies wird so kann der Hashtable dann zu JSON serialisiert werden.
Gibt es eine Möglichkeit von List
Lösung
Nehmen wir an, dass Ihre Liste enthält Objekte vom Typ Foo (mit int Id und eine Zeichenfolge Beschreibung).
Sie können Linq verwenden diese Liste in einem Wörterbuch so drehen:
var dict = myList.Cast<Foo>().ToDictionary(o => o.Description, o => o.Id);
Andere Tipps
Wenn Sie Zugriff auf Linq haben, können Sie die ToDictionary Funktion.
theList.ForEach(delegate(theObject obj) { dic.Add(obj.Id, obj.Description); });
Schauen Sie auch auf der System.Collections.ObjectModel.KeyedCollection<TKey, TItem>
. Es scheint wie eine bessere Übereinstimmung für das, was Sie tun möchten.