两个列表 - 获取公共字段

本文关键字:获取 字段 列表 两个 | 更新日期: 2023-09-27 18:36:23

我有两个List<object>。对象中的字段party_id。

有没有办法使用 LINQ 获取仅包含常见party_ids的列表?那么,也许加入派对 ID 上的列表,然后返回匹配

项的列表?

在SQL中,我想我会这样做:

SELECT DISTINCT party_id FROM table1
INNER JOIN table2 on table1.party_id = table2.party_id

谢谢。

两个列表 - 获取公共字段

你可以试试这个:

table1.Select(r => r.party_id).Intersect(table2.Select(r => r.party_id))

在不拔出反射器并验证上述可行解决方案的实现的情况下,我认为使用 Join(...) 会最有效:

var party_on_dude = from table1
                    join table2 on table1.party_id equals table2.party_id
                    select table1.party_id;

怎么样

var results = list1.Where(f => list2.Exists(s => f.party_id == s.party_id))
                   .Select(x => x.party_id);