我想從微軟網站上學習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