我有一组具有重复值的对象。可以说对象是:

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) });

10-06 05:27