2010-06-02 64 views
2

我想使用IEnumerable函数Intersect()来组合几个列表并从每个列表中获取相似的整数。我面临的问题是我不知道我需要比较多少个列表。动态构建Intersect语句ASP.NET

下面是一个例子:

A {1,2,3,4} B {1,2,3} 13 C {1,2}

结果= A.Intersect(B )。交互(C)

这很好,但下次我可能有一个D {1,2}我下一次碰到该函数。

我想使用Intersect方法,但我也接受新想法。

+1

你如何期望获得这个名单? – alejandrobog 2010-06-02 20:51:08

回答

1

如果您在列表receivng集合,你可以这样做:

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