1

我有 3 个列表,其中包含 Book 类型的对象。

每本书都有一个名称和该书的总量。

有没有办法将所有 3 个列表合并为一个新列表,如果不同列表中有同名书籍,它们的总数将加在一起?

编辑:尝试使用 union 和 concat 但他们没有将总数加在一起

List<Book> completelist = booklist[0].Concat(booklist[1])
                                     .Concat(booklist[2]).ToList();

干杯

4

1 回答 1

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();
于 2012-07-03T19:38:43.253 回答