作者ashram (アシュラム)
看板C_Sharp
标题Re: [问题] List<?>整合其元素,求解!!
时间Mon Nov 8 13:15:50 2010
※ 引述《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
1F:→ demoboy:谢谢您,那我想请教是否能在加入元素时做判断并整合? 11/08 20:27
2F:→ ashram:能举个例子吗? 不太懂你的意思 11/08 22:01