Déterminer si un IEnumerable<T> qui contient un objet d'un autre IEnumberable<T>

J'ai 2 IEnumerable<int>

IEnumerable<int> x;
IEnumerable<int> y;

Quel est le meilleur le meilleur moyen de déterminer si un int dans y est présent dans le x?
Actuellement, je suis en utilisant:

return x.Intersect<int>(y).Count() > 0;

Serait-il beaucoup plus rapide pour parcourir et de tester chacun d'eux?

foreach (int i in x)
{
    foreach (int j in y)
    {
        if (i == j) return true;
    }
}
return false;

Les listes sont relativement légères, avec pas plus de 50 entiers en x et 4 dans y si que les questions à l'examen.

OriginalL'auteur Adam | 2009-03-27