Теперь вопрос о SO о "возможных множественных перечислениях" , но этот вопрос более конкретный.
Пожалуйста, рассмотрите следующий метод, который принимает вход IEnumerable<string>
как и выполняет данный метод по каждому из его элементов:
public static bool SomeMethod(IEnumerable<string> enumerable)
{
if (enumerable.IsNullOrEmpty())
{
// throw exception.
}
else
{
return (enumerable.All(SomeBooleanMethod));
}
}
В приведенном выше коде IsNullOrEmpty
- это просто метод расширения, который запускает
return (!ReferenceEquals(enumerable, null) || enumerable.Any());
Проблема в том, что ReSharper предупреждает меня о "Возможных множественных перечислениях IEnumerable", и я действительно не знаю, действительно ли это может быть проблемой или нет.
Я понимаю смысл предупреждения, но что вы действительно можете сделать в этой ситуации, если вам действительно нужно проверить и исключить исключение в случае недействительности или пустоты?