连接和/或合并两个通用列表中的对象

发布于 2024-11-01 03:13:35 字数 211 浏览 1 评论 0原文

我需要帮助解决这个问题... 我有两个相同对象“SearchResult”的列表,该对象有一个 id 属性和一个 Score 属性。 在两个列表中可以存在相同的 id,但具有不同的分数,因此我需要创建一个新的列表,其中组合了相同的 id,但分数必须是两个分数的总和,最后,列表按最终分数排序。 我怎样才能做到这一点? 我搜索 linq 查询,但找不到任何解决方案。

希望您能帮助我,谢谢!!!

i need help with this problem...
I have two lists of same objects "SearchResult", this object has an id attribute and a score attribute.
In both list can exist the same id, but with different score, so i need to create a new List that combines same id's but the score must be the sum of both scores and finally, the list get ordered by that final score.
How can i do that?
I search for a linq query, but i cant find any solution.

I hope you can help me, thanks!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

太阳男子 2024-11-08 03:13:35

听起来你可能想要这样的东西:

var summed = results1.Concat(results2)
                     .GroupBy(r => r.Id)
                     .Select(g => new SearchResult { 
                                Id = g.Key, 
                                Score = g.Sum(x => x.Score)
                             });

Sounds like you might want something like:

var summed = results1.Concat(results2)
                     .GroupBy(r => r.Id)
                     .Select(g => new SearchResult { 
                                Id = g.Key, 
                                Score = g.Sum(x => x.Score)
                             });
抱猫软卧 2024-11-08 03:13:35

您可以使用链接中的 Union 方法。例子:

var mergedList = firstList.Union(secondList);

You can use Union method from link. Example:

var mergedList = firstList.Union(secondList);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文