看板 C_Sharp 關於我們 聯絡資訊
※ 引述《demoboy (demoboy)》之銘言: : struct Item { : private string itemName; : private int itemCount; : public string ItemName{get;set;} : public int ItemCount{get;set;} : } : List<Item> product = new List<Item>(); : Item pItem = new Item(); : pItem.ItemName = "AAA"; : pItem.ItemCount = 2; : product.Add(pItem); : pItem.ItemName = "BBB"; : pItem.ItemCount = 1; : product.Add(pItem); : pItem.ItemName = "AAA"; : pItem.ItemCount = 3; : product.Add(pItem); : 我想請問各位大大,在List中我們能夠知道現在有3個元素在裡面. : 那我想要請問一下,要怎麼整合相同ItemName的元素並將其ItemCount做相加. : 就如同上面的例子中,將List中3元素整合成2個元素. : ex: : 1. ItemName = "AAA", ItemCount=5; : 2. ItemName = "BBB", ItemCount=1; : 請指教!!謝謝 可以使用linq var newList = (from p in product group p by p.ItemName into g select new Item { ItemName = g.Key, ItemCount = g.Sum(p => p.ItemCount) } ).ToList(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.63.33.120
demoboy:謝謝您,那我想請教是否能在加入元素時做判斷並整合? 11/08 20:27
ashram:能舉個例子嗎? 不太懂你的意思 11/08 22:01