Wie kann ich konvertieren List in C # Hash-Tabelle?

StackOverflow https://stackoverflow.com/questions/166174

  •  03-07-2019
  •  | 
  •  

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 zu konvertieren, um Hash-Tabelle ohne eine Schleife in der Liste durch die einzelnen Artikel zu gehen, zu schreiben?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top