【发布时间】:2022-11-10 18:25:54
【问题描述】:
我有一个接收 FormCollection 的方法。我需要将它的列表传递给我的应用程序层。
我在做什么和工作:
var formIndexes = form.AllKeys.Select((e, i) => new { Name = e, Index = i }).Where(o => o.Name.Contains("StatusId")).ToList();
var formValues = formIndexes.Select(e => new { Value = form[e.Index], Name = e.Name }).ToList();
但 formValues 是 Generic.List,我需要转换为 List 或 Dictionary。
错误:无法从 'System.Collections.Generic.List<<anonymous type: string Value, string Name>>' 转换为 'System.Collections.Generic.Dictionary<string, string>'
[解决了] 在@DanielA.White 的帮助下,我解决了:
formIndexes.Select(e => new { Value = form[e.Index], Name = e.Name }).ToDictionary(a => a.Name, b => b.Value);
【问题讨论】:
-
linq 有
ToDictionary() -
@DanielA.White 谢谢!!解决了 formIndexes.Select(e => new { Value = form[e.Index], Name = e.Name }).ToDictionary(a => a.Name, b => b.Value);