Как узнать, пустой ли IEnumerable <ValueType>, не считая всех?

Без учета всех элементов в коллекции IEnumerables<T> элементов struct, что является лучшим способом определить, является ли он пустым?

Например, в class элементах я обычно тестировал бы с первым или по умолчанию:

myEnumerableReferenceTypeElements.FirstOrDefault() == null

потому что null обычно не является допустимым значением в итерациях наборов.

Однако в случае типов значений, где все значения должны находиться в предопределенном диапазоне, значение по умолчанию (например, значение по умолчанию по умолчанию 0) также является жизнеспособным элементом в коллекции.

myValueTypeInt32Elements.FirstOrDefault() == 0   // can't tell if empty for sure

Ответ 1

Попробуйте использовать .Any()

bool isEmpty = !myEnumerable.Any();

Из MSDN

Определяет, содержит ли последовательность какие-либо элементы.

Ответ 3

bool isEmpty = !myEnumerableReferenceTypeElements.Any();