Domanda

Ho un elenco di oggetti, ognuno contenente un ID, un codice e una descrizione.

Devo convertire questo elenco in un Hashtable, usando Descrizione come chiave e ID come valore.

In questo modo Hashtable può quindi essere serializzato su JSON.

Esiste un modo per convertire da Elenco < Oggetto > su Hashtable senza scrivere un ciclo per esaminare tutti gli elementi dell'elenco?

È stato utile?

Soluzione

Supponiamo che la tua lista contenga oggetti di tipo Foo (con un ID int e una descrizione stringa).

Puoi usare Linq per trasformare quella lista in un Dizionario come questo:

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

Altri suggerimenti

Se hai accesso a Linq, puoi utilizzare ToDictionary la funzione.

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

Guarda anche System.Collections.ObjectModel.KeyedCollection < TKey, TItem > . Sembra una corrispondenza migliore per quello che vuoi fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top