【发布时间】:2020-03-21 05:57:24
【问题描述】:
我想对我的对象列表进行分组并将它们的总数相加,因此最终结果基本上可能如下所示:
1 Coca cola 3x 15.00$
2 Pepsi 1x 5.00$
而不是这个:
1 Coca Cola 2x 10.00$
2 Pepsi 1x 5.00$
3 Coca Cola 1x 5.00$
这是我的代码:
List<Product> result = productsList
.GroupBy(l => l.Article.Title)
.Select(cl => new Product
{
// Avoid assigning all the properties somehow?
TotalAmount = cl.Sum(c => c.TotalAmount),
}).ToList();
我的Product 类有大约 20 个属性,我想避免填充所有属性,但我想保持它们的值不变(我不想丢失其他属性的值)。
如果我想对产品进行分组并更改它们的TotalAmount,因为我想对它们求和,那么这是否可能实现,仅此而已。
这有可能吗?
【问题讨论】:
-
您可能希望生成一些代码,这些代码将使用
GroupBy的相同属性集并创建您的Product对象...并添加适当的 deep clone 到`产品...确实没有内置任何东西 -
@AlexeiLevenkov 请您发布一个示例,以便我接受它作为答案,这可能对许多人有用。谢谢阿列克谢