我有一些清单。他们的数量尚不清楚。
例如(4个列表):
List1 List2 List3 List4
----- ----- ----- -----
1 2 3 4
2 4 8 3
3 8 4 5
4 11 6 1
5 3 7 7
6 9 11 9
我想找到常见的物品。它可以用于MSSQL中的T-SQL。
结果将是这样的:
ResultList : (3, 4)
如何使用Lambda Expression完成?
答案 0 :(得分:5)
您可以使用Enumerable.Intersect
var commonItems = list1.Intersect(list2).Intersect(list3).Intersect(list4);
答案 1 :(得分:2)
对于任意数量的列表,您可以执行以下操作:
var List<List<int>> lists; //This contains the lists I assume...
var result = lists.Skip(1).Aggregate(lists.First(), (accum, cur) => accum.Intersect(cur));
答案 2 :(得分:1)
list1.Intersect(list2).Intersect(list3).Intersect(list4);
答案 3 :(得分:0)
您在寻找Intersect
吗?
答案 4 :(得分:0)
您可以使用Enumerable.Intersect并将List1与List1相交,将其结果与List3相交,依此类推。
List1.Intersect(List2).Intersect(List3).Intersect(List4)