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?

Respuestas a la pregunta(2)

Su respuesta a la pregunta