Я пытаюсь найти наиболее многоразовый, но элегантный, фрагмент кода, который можно определить, если IEnumerable. В идеале это должна быть функция, которую я могу вызвать абсолютно в любое время, когда мне нужно указать, является ли IEnumerable пустым.Что такое твердый, элегантный, многоразовый фрагмент кода для определения, является ли IEnumerable пустым, в .NET?
Хотя я разработал ответ для .NET 3.5, который до сих пор хорошо работал для меня, моя нынешняя мысль заключается в том, что нет идеального ответа, поскольку IEnumerable может инкапсулировать коллекцию (или очередь итераторов), которая модифицирует основные результаты, которые он выполняет, и которые могут вызвать проблемы. Однако это также будет препятствием для внедрения IEnumerable.Count(), и это не помешало MS предоставить его.
Так что я думал, что поставил бы это так, чтобы посмотреть, есть ли у кого-то лучшее, и на случай, если кто-то другой найдет его полезным.
Редактировать: Вау, я не могу поверить, что не знал об IEnumerable.Any. Я знал, что он существует, но никогда не потрудился проверить, что он сделал. Пусть это будет уроком. Прочтите документацию. Просто потому, что имя метода не означает, что оно делает то, что вы хотите, не означает, что оно не делает то, что вы хотите.
Ничего себе .... не могу поверить, что я не знал об этом. Благодаря! – 2008-09-22 20:24:37
Это новое в .Net 3.5 – Keith 2008-09-22 20:41:02