Pregunta

Tengo una lista de objetos, cada uno con una identificación, código y descripción.

Necesito convertir esta lista en una tabla hash, usando Descripción como clave e Id como valor.

Esto es así para que Hashtable se pueda serializar a JSON.

¿Hay alguna forma de convertir desde Lista < Objeto > a Hashtable sin escribir un bucle para revisar cada elemento de la lista?

¿Fue útil?

Solución

Supongamos que su Lista contiene objetos de tipo Foo (con un Id int y una Descripción de cadena).

Puedes usar Linq para convertir esa lista en un Diccionario como este:

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

Otros consejos

Si tiene acceso a Linq, puede usar el ToDictionary función.

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

Observe también el System.Collections.ObjectModel.KeyedCollection < TKey, TItem > . Parece una mejor combinación para lo que quieres hacer.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top