Если вам нужно иметь возможность извлечь все элементы в случае, если они не пусты, то некоторые ответы здесь не сработают, потому что вызов Any()
для не перематываемого перечислимого будет "забудьте "элемент.
Вы можете использовать другой подход и превратить нули в пустые:
bool didSomething = false;
foreach(var element in someEnumeration ?? Enumerable.Empty<MyType>())
{
//some sensible thing to do on element...
didSomething = true;
}
if(!didSomething)
{
//handle the fact that it was null or empty (without caring which).
}
Аналогично (someEnumeration ?? Enumerable.Empty<MyType>()).ToList()
и т. д. можно использовать.