我有3个列表,其中包含Book类型的对象。
每本书都有一个名称和该书的总金额。
有没有办法将所有3个列表合并为一个新列表,如果在不同列表中有相同名称的书籍,它们的总数将一起添加?
编辑:尝试使用union和concat,但他们不会将总数加在一起
List<Book> completelist = booklist[0].Concat(booklist[1])
.Concat(booklist[2]).ToList();
干杯
答案 0 :(得分:4)
var merged = list1.Concat(list2).Concat(list3)
.GroupBy(book => book.Name)
.Select(g => new Book
{
Name = g.Key,
Total = g.Sum(book => book.Total),
})
.ToList();