В вашем примере вы будете в порядке, используя метод расширения.Но если бы вы реализовали свой собственный метод, который возвращал IEnumerable, ответ зависит от того, как вы возвращаете свой результат.
Следующий метод возвращает пустое перечисляемое значение:
IEnumerable<object> Correct()
{
yield break;
}
Следующий методпросто возвращает null:
IEnumerable<object> Incorrect()
{
return null;
}
Вызов этих методов даст следующие результаты:
Correct().Any(); // returns false
Incorrect().Any(); // throws ArgumentNullException
Так что будьте осторожны, когда вы возвращаете IEnumerable.Попробуйте использовать ключевое слово yield и следуйте правильному шаблону.