这可能是一个愚蠢的问题,但我找不到超过两个列表的解决方案。说我有以下列表:
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();