我有一组具有重复值的对象。可以说对象是:
public InvoiceCompany
{
public decimal InvoiceValue { get; set; }
public string Company { get; set; }
}
并且清单集合中的每个公司都有多张发票。如何合并集合中不同的公司中的对象,并同时添加其InvoiceValues?我想用Linq来做!
最佳答案
使用GroupBy
:
var list = new List<InvoiceCompany>(); //your collection of invoices
var grouped = list.GroupBy(x => x.Company)
.Select(g => new InvoiceCompany { Company = g.Key, InvoiceValue = g.Sum(x => x.InvoiceValue) });