使用 Linq 将 foreach IEnumerable<string> 分配给 Object.StringId



如何在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执行操作,您无法从操作返回任何内容。

相关内容

最新更新