如何获取linq`ForEach`语句来返回有关每个列表对象的方法调用的数据?

LaR*_*ite 12 c# linq foreach linq-to-entities linq-to-sql

我有一个linq ForEach语句,为Report列表中的每个对象调用一个方法.此方法为每个调用返回一个数据表数组,我想以某种方式获取返回的数据.我怎么能用linq ForEach而不是旧学校foreach (var x in x's) { ... }呢?这是我的代码:

Reports.ForEach(r => r.LoadTableData(Event, Human, Animal, exData));
Run Code Online (Sandbox Code Playgroud)

我怎样才能回到各自DataTable[]的是LoadTableData正在恢复?

dca*_*tro 19

Select改为使用:

var tables = Reports.Select(r => r.LoadTableData(Event, Human, Animal, exData));
Run Code Online (Sandbox Code Playgroud)

Select 将集合映射到另一个集合(在这种情况下,集合Report到集合中DataTable[]).实际上,该Select方法通常map在其他语言中调用,例如Scala和Ruby.

ForEach 对源集合中的每个元素执行任意操作.

顺便说ForEach一下,它不是LINQ扩展的一部分.这只是另一种方法List<T>.