2

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

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

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

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

谢谢。

4

3 回答 3

4

你可以试试这个:

table1.Select(r => r.party_id).Intersect(table2.Select(r => r.party_id))
于 2012-06-07T01:14:14.223 回答
3

怎么样

var results = list1.Where(f => list2.Exists(s => f.party_id == s.party_id))
                   .Select(x => x.party_id);
于 2012-06-07T01:15:05.250 回答
3

在不拉出 Reflector 并验证上述可行解决方案的实现的情况下,我认为使用它是最有效的Join(...)

var party_on_dude = from table1
                    join table2 on table1.party_id equals table2.party_id
                    select table1.party_id;
于 2012-06-07T01:21:31.867 回答