简体   繁体   English

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

[英]How to get linq `ForEach` statement to return data on the method call being made for each list object?

I have a linq ForEach statement that calls a method for each Report object in the list. 我有一个linq ForEach语句,它为列表中的每个Report对象调用一个方法。 This method returns an array of data tables for each call and I want to somehow get that returned data. 此方法为每个调用返回一个数据表数组,我想以某种方式获取返回的数据。 How can I do this using linq ForEach rather than the old school foreach (var x in x's) { ... } ? 我怎样才能使用linq ForEach而不是旧学校的foreach (var x in x's) { ... } Here is my code: 这是我的代码:

Reports.ForEach(r => r.LoadTableData(Event, Human, Animal, exData));

How can I get back each DataTable[] that LoadTableData is returning? 我怎样才能找回LoadTableData返回的每个DataTable[]

Use Select instead: 改为使用Select

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

Select maps a collection onto another (in this case, a collection of Report into a collection of DataTable[] ). Select 集合映射到另一个集合(在本例中,将Report的集合映射DataTable[]的集合中)。 In fact, the Select method is often called map in other languages such as Scala and Ruby. 实际上, Select方法通常在其他语言中称为map ,例如Scala和Ruby。

ForEach executes an arbitrary action for each element in the source collection. ForEach为源集合中的每个元素执行任意操作。

And btw, ForEach is not part of the LINQ extensions. 顺便说一下, ForEach不是LINQ扩展的一部分。 It's just another method on List<T> . 这只是List<T>上的另一种方法。

如何使用 linq 而不是 foreach 来获取列表<object><div id="text_translate"><pre> public List<object> Query() { List<string> availableBillingIncrements = _controller.GetAvailableDropdowns().AvailableBillingIncrement; List<object> results = new List<object>(); var x = availableBillingIncrements.Select(i => new List<object> { "Increment", i }).ToList().Select(i => new List<object> { i }).ToList(); foreach (string increment in availableBillingIncrements) { List<object> result = new List<object>(); result.Add(new List<object> { "Increment", increment }); results.Add(result); } return results; }</pre><p> 在上面的代码中,x 和 results 是相同的对象,除了 x 的类型是 List<List<object>> 并且 results 是 List<object>。 如何摆脱 foreach 循环并使用 x 作为结果?</p></div></object> - how to use linq instead of foreach to get an List<object>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 列表上的ForEach扩展方法 - 如何获取对象? - the ForEach Extension Method on the List - how to get the object? 如何使用 linq 而不是 foreach 来获取列表<object><div id="text_translate"><pre> public List<object> Query() { List<string> availableBillingIncrements = _controller.GetAvailableDropdowns().AvailableBillingIncrement; List<object> results = new List<object>(); var x = availableBillingIncrements.Select(i => new List<object> { "Increment", i }).ToList().Select(i => new List<object> { i }).ToList(); foreach (string increment in availableBillingIncrements) { List<object> result = new List<object>(); result.Add(new List<object> { "Increment", increment }); results.Add(result); } return results; }</pre><p> 在上面的代码中,x 和 results 是相同的对象,除了 x 的类型是 List<List<object>> 并且 results 是 List<object>。 如何摆脱 foreach 循环并使用 x 作为结果?</p></div></object> - how to use linq instead of foreach to get an List<object> 调用LINQ中的Task &lt;&gt;方法并返回数据 - Call to Task<> method inside LINQ and return data 将由LINQ语句生成的字符串解析为方法 - Parsing a string made from a LINQ statement to a method Linq 语句在第二个方法调用实例化 object 时崩溃(无异常) - Linq statement crashing (no exception) on 2nd method call instantiate object 如何使用TOP,COUNT和GROUP BY转换SQL语句以使用LINQ返回对象列表 - How to convert SQL Statement with TOP, COUNT and GROUP BY to return an object list with LINQ 如何从方法返回LINQ对象? - How to return LINQ object from method? 如何通过LINQ语句获取Ints列表? - How to get a list of Ints via a LINQ statement? 如何使用LINQ和“ In”语句过滤内存数据对象 - How to filter In memory Data object with LINQ and “In” statement 如何从Linq语句调用没有返回值的函数? - How to call a function from Linq statement without a return value?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM