Ответ 1
Попробуйте использовать .Any()
bool isEmpty = !myEnumerable.Any();
Из MSDN
Определяет, содержит ли последовательность какие-либо элементы.
Без учета всех элементов в коллекции IEnumerables<T>
элементов struct
, что является лучшим способом определить, является ли он пустым?
Например, в class
элементах я обычно тестировал бы с первым или по умолчанию:
myEnumerableReferenceTypeElements.FirstOrDefault() == null
потому что null обычно не является допустимым значением в итерациях наборов.
Однако в случае типов значений, где все значения должны находиться в предопределенном диапазоне, значение по умолчанию (например, значение по умолчанию по умолчанию 0) также является жизнеспособным элементом в коллекции.
myValueTypeInt32Elements.FirstOrDefault() == 0 // can't tell if empty for sure
Попробуйте использовать .Any()
bool isEmpty = !myEnumerable.Any();
Из MSDN
Определяет, содержит ли последовательность какие-либо элементы.
Для этого случая был разработан метод .Any()
расширения.
bool isEmpty = !myEnumerableReferenceTypeElements.Any();