如何将 linq `ForEach` 语句获取到每个列表对象的方法调用的 return 数据?
How to get linq `ForEach` statement to return data on the method call being made for each list object?
我有一个 linq ForEach
语句,它为列表中的每个 Report
对象调用一个方法。此方法 returns 每次调用的数据表数组,我想以某种方式获取返回的数据。我如何使用 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>
.
上的另一种方法
我有一个 linq ForEach
语句,它为列表中的每个 Report
对象调用一个方法。此方法 returns 每次调用的数据表数组,我想以某种方式获取返回的数据。我如何使用 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>
.