LINQ 如何返回多个列表中的共同对象

3

这可能是一个愚蠢的问题,但我找不到超过2个列表的解决方案。假设我有以下列表:

List<BusinessProcess> List1 = new List<BusinessProcess>(){ obj1, obj2, obj3, obj4 };
List<BusinessProcess> List2 = new List<BusinessProcess>(){ obj2, obj3 };
List<BusinessProcess> List3 = new List<BusinessProcess>(){ obj3, obj4 };

我想返回在三个列表中相等的对象(在此示例中为obj3)。请问如何使用LINQ实现这一点?

评论不适合进行长时间的讨论;此对话已被移至聊天室 - Samuel Liew
1个回答

0
根据最新评论,解决方案是:
基于obj.id筛选所有常见的BusinnesProcess
List<BusinessProcess> result = List1
.Where(y => List2.Select(x => x.id).Intersect(List3.Select(x => x.id))
    .Contains(y.id))
.ToList();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接