我想从微软网站上学习lambda表达式,我试图将它应用到我创建的场景中以更深入地了解该网站试图展示的内容。我偶然发现了与linq和lambda关联的聚合函数。请告诉我正在尝试实现什么是正确的语法。基本上,我有一个称为物品的类,它有3个属性:类别,ID和重量。一个类别可以有多个与之关联的ID,我正在考虑获得类别的总权重,该类别是每个具有我指定类别的ID的所有单个权重的总和。 更具体地说,这是我的结构的提取物:带聚合函数的lambda表达式
class item
{
public int NodeID
{ get; set; }
public int Weight
{ get; set; }
public int Category
{ get; set; }
}
我有以下的解释:
Dictionary<int,item> _itemsReceivedList=new Dictionary<int,item>();
而这正是我试图让C类的总重量:
_itemsReceivedList.Select(x=>x.Value.Category==c)
.Sum(what should I put here for the predicate?)
我想总结每个具有类别c的项目的权重。 请指教。谢谢!
['Select'(HTTP:// MSDN。 microsoft.com/en-us/library/bb548891%28v=vs.110%29.aspx)不会过滤。它将这些元素投射到别的东西上。在这里你将元素投影到布尔中。使用['Where'](http://msdn.microsoft.com/zh-cn/library/bb534803%28v=vs.110%29.aspx)进行过滤。 – pescolino