Я хочу знать, можно ли найти хотя бы один элемент в первом списке во втором списке.
Я вижу два способа сделать это. Скажем, наши списки:
List<string> list1 = new[] { "A", "C", "F", "H", "I" };
List<string> list2 = new[] { "B", "D", "F", "G", "I" };
Первый подход использует цикл:
bool isFound = false;
foreach (item1 in list1)
{
if (list2.Contains(item1))
{
isFound = true;
break;
}
}
Второй использует Linq напрямую:
bool isFound = list1.Intersect(list2).Any();
Первый из них длинный, чтобы писать, а не очень просто/легко читаться. Второй - короткий и понятный, но производительность будет низкой, особенно в больших списках.
Что может быть изящным способом сделать это?