【发布时间】:2016-06-24 06:37:26
【问题描述】:
如何将如下所示的 foreach 循环编写为 labmda 表达式?
var sum = 0;
foreach (SomeClass obj in SomeListOfClass)
{
sum += obj.SomeValue;
}
我期待一个看起来像这样的 lambda 表达式
var sum = SomeListOfClass.ForEachMethod( x => sum += x.SomeValue)
有什么办法吗?
【问题讨论】:
-
你可以使用 Linq 的
Sum扩展方法var sum = SomeListOfClass.Sum(x => x.SomeValue); -
为什么有这么多反对票?这个问题到底有什么问题。没听懂?
-
@talaa123 好吧,您的代码没有多大意义(为什么要在 lambda 中添加
sum并将其设置为返回值?)而且您显然没有看文档,您可以在其中找到Sum()和ForEach()。您也没有解释为什么要使用 lambda。
标签: c# foreach lambda linq-expressions