Concat и / или объединение объектов в двух общих списках - PullRequest
2 голосов
/ 14 апреля 2011

Мне нужна помощь в решении этой проблемы ... У меня есть два списка одинаковых объектов "SearchResult", этот объект имеет атрибут id и атрибут Score.В обоих списках может существовать один и тот же идентификатор, но с разным счетом, поэтому мне нужно создать новый список, который объединяет одинаковые идентификаторы, но счет должен быть суммой обоих показателей, и, наконец, список будет упорядочен по этому окончательному результату.Как я могу это сделать?Я ищу запрос linq, но не могу найти никакого решения.

Надеюсь, вы мне поможете, спасибо !!!

Ответы [ 2 ]

6 голосов
/ 14 апреля 2011

Звучит так, будто вы хотите что-то вроде:

var summed = results1.Concat(results2)
                     .GroupBy(r => r.Id)
                     .Select(g => new SearchResult { 
                                Id = g.Key, 
                                Score = g.Sum(x => x.Score)
                             });
0 голосов
/ 14 апреля 2011

Вы можете использовать Union метод по ссылке. Пример:

var mergedList = firstList.Union(secondList);
...