如何让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[] ?

如何让linq ' ForEach '语句返回对每个列表对象进行的方法调用的数据

Select代替:

var tables = Reports.Select(r => r.LoadTableData(Event, Human, Animal, exData));

Select 一个集合映射到另一个集合(在本例中,一个Report的集合映射到一个DataTable[]的集合)。实际上,Select方法在Scala和Ruby等其他语言中经常被称为map

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

顺便说一句,ForEach不是LINQ扩展的一部分。这只是List<T>上的另一个方法