如何在linq中执行以下操作
foreach (var ar in allResults)
trans.Add(new Tran
{
TranId = ar
});
linq 新手,请帮忙
您正在做的似乎是将allResults
的每个元素转换为Tran
,并将它们全部添加到trans
中。
"将每个元素转换为另一个对象"对应于 LINQ 中的Select
操作,可以使用AddRange
方法添加所有转换后的元素:
trans.AddRange(allResults.Select(ar => new Tran { TranId = ar }));
如果trans
最初始终为空,则可以使用ToList
并直接分配给trans
:
trans = allResults.Select(ar => new Tran { TranId = ar }).ToList();
这是使用AddRange。
trans.AddRange(allResults.Select(ar => new Tran{ TranId = ar})))
我宁愿使用 ForEach
allResults.ToList().ForEach(t => trans.Add(new Tran() {TranId = t}));
看看这个答案张贴在MSDN LINQ等效的foreach
ForEach执行操作,您无法从操作返回任何内容。