2
我需要這個問題的幫助...... 我有兩個相同的對象「SearchResult」列表,這個對象有一個id屬性和一個score屬性。 在這兩個列表中可以存在相同的ID,但具有不同的分數,所以我需要創建一個結合了相同ID的新列表,但分數必須是兩個分數的總和,最後,該列表按最終得分排序。 我該怎麼做? 我搜索linq查詢,但我找不到任何解決方案。Concat和/或兩個通用列表中的合併對象
我希望你能幫助我,謝謝!!!
我需要這個問題的幫助...... 我有兩個相同的對象「SearchResult」列表,這個對象有一個id屬性和一個score屬性。 在這兩個列表中可以存在相同的ID,但具有不同的分數,所以我需要創建一個結合了相同ID的新列表,但分數必須是兩個分數的總和,最後,該列表按最終得分排序。 我該怎麼做? 我搜索linq查詢,但我找不到任何解決方案。Concat和/或兩個通用列表中的合併對象
我希望你能幫助我,謝謝!!!
聽起來像是你可能想是這樣的:
var summed = results1.Concat(results2)
.GroupBy(r => r.Id)
.Select(g => new SearchResult {
Id = g.Key,
Score = g.Sum(x => x.Score)
});
您可以使用Union
方法從鏈接。例如:
var mergedList = firstList.Union(secondList);
天啊!你在問問傢伙之前回答這個問題! – 2011-04-14 13:29:08
OP也想要一個'OrderBy' .. – Ani 2011-04-14 13:35:28
謝謝!它像一個魅力! – 2011-04-14 13:51:03