С LINQ:
var commonCountries = countries1.Intersect(countries2);
if (commonCountries.Any())
// There are common countries.
Но это не учитывает строковый регистр и т. Д. То, что вы можете захотеть сделать, это быстрое соединение IEqualityComparer<string>
:
public class OrdinalStringComparer : IEqualityComparer<string>
{
public bool Equals(string s1, string s2)
{
return string.Equals(s1, s2, StringComparison.OrdinalCultureIgnoreCase);
}
public int GetHashCode(string str)
{
return (str == null) ? 0 : str.GetHashCode();
}
}
Затем передайте это с помощью Intersect
вызова:
var commonCountries = countries1.Intersect(countries2, new OrdinalStringComparer());