2010-06-02 5 views
2

Je voudrais utiliser la fonction IEnumerable Intersect() pour combiner une liste et obtenir les entiers similaires de chaque liste. Le problème auquel je suis confronté est que je ne sais pas combien de liste je vais devoir comparer.génération dynamique instruction Intersect ASP.NET

Voici un exemple:

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

résultats = A.Intersect (B) .Intersect (C)

Cela fonctionne très bien, mais la prochaine fois, je peux avoir un D {1,2} la prochaine fois que je rencontre la fonction. Je voudrais utiliser la méthode Intersect, mais je suis également ouvert aux nouvelles idées.

+1

Comment attendez-vous à recevoir cette liste? – alejandrobog

Répondre

1

Si vous receivng les collections dans une liste, vous pouvez le faire:

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