我有两个收藏品
List<CustomClass1> items1
List<CustomClass2> items2
CustomClass1 has a property KEY
CustomClass2 has a property KEY
我想只在items1中保留那些在items2中具有匹配键的条目。如何通过LINQ实现这一目标?
感谢
答案 0 :(得分:4)
var res = items1.Join(items2,
item1 => item1.Key,
item2 => item2.Key,
(item1, item2) => item1);
答案 1 :(得分:3)
var res = items1.Where(a=> items2.Any(c=>c.Key == a.Key));
答案 2 :(得分:2)
var q = from i1 in items1
join i2 in items2 on i1.Key equals i2.Key
select i1;
答案 3 :(得分:0)
您始终可以使用Intersect运算符 -
var result = item1.Intersect(item2);
如果有必要,重载允许权益比较,但如果您的项目来自相同的上下文,则不需要