C# 使用linq填充字典
我有下面这本空字典C# 使用linq填充字典,c#,linq,list,dictionary,C#,Linq,List,Dictionary,我有下面这本空字典 Dictionary<Guid, string> appTypeMap = new Dictionary<Guid, string>(); 我想使用LINQ填充字典。 我该怎么做? 谢谢。试试看 appTypeMap = _applicationTypeService.GetAll().Select(o => new DictionaryEntry{ Key = o.id, Value = o.name }).ToList(); 不确
Dictionary<Guid, string> appTypeMap = new Dictionary<Guid, string>();
我想使用LINQ填充字典。我该怎么做? 谢谢。试试看
appTypeMap = _applicationTypeService.GetAll().Select(o => new DictionaryEntry{
Key = o.id,
Value = o.name
}).ToList();
不确定是否需要结尾处的.ToList()
appTypeMap = allApplicationTypes.ToDictionary(x => x.id, x => x.name);
但是,它将创建一个新词典,而不是填充您的词典。至少应该为否定词留下注释。这是一个有效的答案,并显示了另一种方法。我没有投反对票,但编译器在这段代码中给出了“Cannot implicitly convert..”错误。有趣的是,我想知道是否需要.ToList()。谢谢您的评论。很抱歉,但只有当您需要一个
字典列表entry
s,而不是字典时,此操作才有效。。。
appTypeMap = _applicationTypeService.GetAll().Select(o => new DictionaryEntry{
Key = o.id,
Value = o.name
}).ToList();
appTypeMap = allApplicationTypes.ToDictionary(x => x.id, x => x.name);