用于遍历数组的lambda表达式

era*_*zap 2 c# lambda delegates

我是一个lambda noob

我正在寻找一种方法使用匿名方法来总结我的项目中的计数变量的结果

class SomeObject
{
    public int Count{get;}
}

SomeObject [] items = new SomeObject[]{......};  
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个lambda表达式来总结并返回所有计数的数量

Func<SomeObject[],int> counter =  // the lambada i don't know how to write.
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助和一些好的教程的参考

我不想发布另一个困境,扩展都很好,但如果我需要执行一个不是为Sum,Where,Select ... ext等集合内置的进程.

例如 :

     string description = string.empty; 
     foreach(var provider in Providers)
     {
            description += provider.Description ;
     }
     return decapitation .
Run Code Online (Sandbox Code Playgroud)

iv'e将它封装在一个Func委托中,但是我需要使用lambda表达式引用该委托给匿名方法,该表达式预先形成了上面的代码,我无法弄清楚这样做的语法.

一般来说,我正在寻找一种使用lambda表达式编写foreach循环的方法

(fyi代码是示例性的,没有实际用途).

Jon*_*Jon 12

你正在寻找这样的东西:

var sum = items.Sum(i => i.Count);
Run Code Online (Sandbox Code Playgroud)

Sum是LINQ提供的扩展方法,它对可枚举的项目序列求和.在这种情况下,由于项目(类型SomeObject)不能自己求和,您希望使用Sum接受lambda 的重载.该lambda用于从每个项目中提取"可累加"值.

在这种情况下,"累加"值是Count每一个SomeObject,因此i => i.Count.