我在使用C#/ LINQ進行雙重分組時遇到了與以下示例類似的數據。我開始與TickItems從數據層來的列表,我現在已經得到了它形這樣:有兩個分組的LINQ
TickItem { ItemName: string; QtyNeeded: int; QtyFulfilled: int; Category: string; }
List<TickItem> items = new List<TickItem>();
items.Add("apple", 1, 0, "food");
items.Add("orange", 1, 1, "food");
items.Add("orange", 1, 0, "food");
items.Add("bicycle", 1, 1, "vehicle");
items.Add("apple", 1, 1, "food");
items.Add("apple", 1, 0, "food");
items.Add("car", 1, 1, "vehicle");
items.Add("truck", 1, 0, "vehicle");
items.Add("banana", 1, 0, "food");
我按類別需要這組數據與總和最終結果中的每個數字列。最後,它的形狀應是這樣的:
{ "food": { "apple" : 3, 1 },
{ "banana" : 1, 0 },
{ "orange" : 2, 1 } },
{ "vehicle": { "bicycle": 1, 1 },
{ "car" : 1, 1 },
{ "truck" : 1, 0} }
我已經能夠(通過ITEMNAME和類別組組)單獨做每個分組的,但我一直沒能在執行這兩個分組一個LINQ語句。我的代碼到目前爲止:
var groupListItemName = things.GroupBy(tiλ => tiλ.ItemName).ToList();
var groupListCategory = things.GroupBy(tiλ => tiλ.Category).ToList();
任何人都可以幫忙嗎?
[編輯:我可以用任何一種方法或查詢語法,較容易可視化與過程]
你是人中的神...感謝這麼快的響應! –