Question

J'ai une liste d'objets, chacun contenant un identifiant, un code et une description.

Je dois convertir cette liste en table de hachage, en utilisant la Description comme clé et le Id en tant que valeur.

C’est pour que la table de hachage puisse ensuite être sérialisée en JSON.

Existe-t-il un moyen de convertir à partir de List < Object > accéder à Hashtable sans écrire une boucle pour parcourir chaque élément de la liste?

Était-ce utile?

La solution

Supposons que votre liste contienne des objets de type Foo (avec un ID int et une chaîne Description).

Vous pouvez utiliser Linq pour transformer cette liste en un dictionnaire comme celui-ci:

var dict = myList.Cast<Foo>().ToDictionary(o => o.Description, o => o.Id);

Autres conseils

Si vous avez accès à Linq, vous pouvez utiliser le ToDictionary . fonction.

theList.ForEach(delegate(theObject obj) { dic.Add(obj.Id, obj.Description); });

Examinez également le System.Collections.ObjectModel.KeyedCollection < TKey, TItem & . Cela semble correspondre mieux à ce que vous voulez faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top