web-dev-qa-db-fra.com

remplir un dictionnaire en utilisant linq

J'ai le dictionnaire vide suivant

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

et la liste suivante:

List<ApplicationType> allApplicationTypes = _applicationTypeService.GetAll()

Le type d'application est décrit comme suit:

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

Je souhaite remplir le dictionnaire à l'aide de LINQ.
Comment je fais ça? Merci.

36
Bick
appTypeMap = allApplicationTypes.ToDictionary(x => x.id, x => x.name);

Cependant, il créera un nouveau dictionnaire, pas le vôtre.

81
MarcinJuraszek

Essayer

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

Je ne sais pas si vous avez besoin d'un .ToList () à la fin ....

2
Mike C.