我想使用IEnumerable函数Intersect()来组合一些列表并从每个列表中获取类似的整数。我面临的问题是我不知道需要比较多少列表。
以下是一个例子:
A {1,2,3,4} B {1,2,3} 13 C {1,2}
results = A.Intersect(B).Intersect(C)
这很有效,但是下次我可能会遇到D {1,2},我会遇到这个功能。
我想使用Intersect方法,但我也接受新想法。
答案 0 :(得分:1)
如果您在列表中收到集合,则可以执行以下操作:
List<List<int>> lists = new List<List<int>>();
var result = lists[0].AsEnumerable();
for (int i = 0; i < lists.Count - 1; i++)
{
result = result.Intersect(lists[i + 1]);
}