使用linq填充字典

时间:2013-03-10 16:00:35

标签: c# linq list dictionary

我有以下空字典

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

以及以下列表:

List<ApplicationType> allApplicationTypes = _applicationTypeService.GetAll()

应用程序类型描述如下:

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

我想使用LINQ填充字典 我怎么做? 感谢。

2 个答案:

答案 0 :(得分:76)

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

但是,它会创建一个新词典,而不是填写你的词典。

答案 1 :(得分:2)

尝试

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

不确定你是否需要.ToList()......