如何让linq ' ForEach '语句返回对每个列表对象进行的方法调用的数据
本文关键字:对象 列表 数据 调用 方法 linq ForEach 语句 返回 | 更新日期: 2023-09-27 18:10:06
我有一个linq ForEach
语句,它为列表中的每个Report
对象调用一个方法。这个方法为每次调用返回一个数据表数组,我想以某种方式获得返回的数据。我如何使用linq ForEach而不是老式的foreach (var x in x's) { ... }
来做到这一点?下面是我的代码:
Reports.ForEach(r => r.LoadTableData(Event, Human, Animal, exData));
我怎样才能得到LoadTableData
返回的每个DataTable[]
?
用Select
代替:
var tables = Reports.Select(r => r.LoadTableData(Event, Human, Animal, exData));
Select
将一个集合映射到另一个集合(在本例中,一个Report
的集合映射到一个DataTable[]
的集合)。实际上,Select
方法在Scala和Ruby等其他语言中经常被称为map
。
ForEach
对源集合中的每个元素执行任意操作。
顺便说一句,ForEach
不是LINQ扩展的一部分。这只是List<T>
上的另一个方法