Tengo el siguiente Diccionario vacío

Dictionary<Guid, string> appTypeMap = new Dictionary<Guid, string>();

y la lista siguiente:

List<ApplicationType> allApplicationTypes = _applicationTypeService.GetAll()

Tipo de aplicación se describe como sigue:

public class ApplicationType
{
   public Guid id {get; set;}
   public String name {get; set;}
}

Desea rellenar el diccionario de uso de LINQ.

¿Cómo puedo hacer eso?
Gracias.

InformationsquelleAutor Bick | 2013-03-10

2 Comentarios

  1. 79
    appTypeMap = allApplicationTypes.ToDictionary(x => x.id, x => x.name);

    Sin embargo, va a crear un nuevo diccionario, no llenar la suya.

    • +1 incluso mejor. Aprender algo nuevo hoy.
  2. 2

    Intentar

    appTypeMap = _applicationTypeService.GetAll().Select(o => new DictionaryEntry{
      Key = o.id,
      Value = o.name
    }).ToList();

    No está seguro de si usted necesita un .ToList() en la final….

    • Al menos debería de dejar un comentario negativo. Esta es una respuesta válida y muestra un método alternativo.
    • yo no downvote, pero el compilador da el «No se puede convertir implícitamente..» error con este código.
    • muy interesante, me había preguntado si la .ToList() era necesario. Gracias por el comentario.
    • Lo siento, pero esto sólo funcionará si usted está esperando una lista de DictionaryEntrys, pero no es un diccionario…

Dejar respuesta

Please enter your comment!
Please enter your name here