in src/VSSetup.PowerShell/PowerShell/Extensions.cs [70:95]
public static bool ContainsAny<T, TKey>(this IEnumerable<T> source, Func<T, TKey> selector, IEnumerable<TKey> keys, IEqualityComparer<TKey> comparer = null)
{
Validate.NotNull(source, nameof(source));
Validate.NotNull(selector, nameof(selector));
Validate.NotNull(keys, nameof(keys));
comparer = comparer ?? EqualityComparer<TKey>.Default;
var e = source.Select(selector);
var items = new HashSet<TKey>(e, comparer);
if (!keys.Any())
{
return true;
}
foreach (var key in keys)
{
if (items.Contains(key))
{
return true;
}
}
return false;
}