动态构建Intersect语句ASP.NET

时间:2010-06-02 20:40:28

标签: asp.net

我想使用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方法,但我也接受新想法。

1 个答案:

答案 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]);
  }