Re: [問題] List<?>整合其元素,求解!!

看板C_Sharp作者 (アシュラム)時間15年前 (2010/11/08 13:15), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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

11/08 20:27, , 1F
謝謝您,那我想請教是否能在加入元素時做判斷並整合?
11/08 20:27, 1F

11/08 22:01, , 2F
能舉個例子嗎? 不太懂你的意思
11/08 22:01, 2F
文章代碼(AID): #1CruU91z (C_Sharp)
文章代碼(AID): #1CruU91z (C_Sharp)