Compruebe si algún elemento de una lista coincide con algún elemento de otra lista
Una colega me pidió que escribiera una frase para reemplazar el siguiente método:
public static bool IsResourceAvailableToUser(IEnumerable<string> resourceRoles, IEnumerable<string> userRoles)
{
foreach (var userRole in userRoles)
foreach (var resourceRole in resourceRoles)
if (resourceRole == userRole)
return true;
return false;
}
Resharper y yo se nos ocurrió esto:
public static bool IsResourceAvailableToUser(IEnumerable<string> resourceRoles, IEnumerable<string> userRoles)
{
return userRoles.Where(resourceRoles.Contains).Count() > 0;
}
¿Hay una mejor manera?