Je veux savoir si au moins un élément d'une première liste peut être trouvé dans une deuxième liste.
Je vois deux façons de le faire. Disons que nos listes sont :
List list1 = new[] { "A", "C", "F", "H", "I" };
List list2 = new[] { "B", "D", "F", "G", "I" };
La première approche utilise une boucle :
bool isFound = false;
foreach (item1 in list1)
{
if (list2.Contains(item1))
{
isFound = true;
break;
}
}
La deuxième utilise directement Linq :
bool isFound = list1.Intersect(list2).Any();
La première est longue à écrire et pas très directe / facile à lire. La deuxième est courte et claire, mais les performances seront faibles, surtout sur de grandes listes.
Quelle pourrait être une manière élégante de le faire ?