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

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 };


我想返回所有3个列表中相等的对象(在这种情况下为obj3)。我将如何使用LINQ做到这一点?

最佳答案

根据最新评论,解决方案是:

根据BusinnesProcess过滤所有常见的obj.id

List<BusinessProcess> result = List1
.Where(y => List2.Select(x => x.id).Intersect(List3.Select(x => x.id))
    .Contains(y.id))
.ToList();

10-08 08:50