Что делает возврат LINQ, когда результаты пусты

Что-то вроде этого может быть полезным?

http://www.docjar.com/

298
задан RAM 14 November 2018 в 02:26
поделиться

6 ответов

Он вернет пустой перечислимый. Это не будет нулевым. Вы можете спать спокойно :)

475
ответ дан 23 November 2019 в 01:31
поделиться

Исключение не будет, вы получите пустой список.

6
ответ дан 23 November 2019 в 01:31
поделиться

.ToList возвращает пустой список. (то же, что и new List ());

15
ответ дан 23 November 2019 в 01:31
поделиться

В Linq-to-SQL, если вы попытаетесь получить первый элемент запроса без результатов, вы получите ошибку , не содержащую элементов . Могу вас заверить, что упомянутая ошибка не равна объектной ссылке, не установленной на экземпляр объекта . в заключение нет, он не вернет null, поскольку null не может сказать, что последовательность не содержит элементов , он всегда будет говорить, что ссылка на объект не установлена ​​на экземпляр объекта ;)

8
ответ дан 23 November 2019 в 01:31
поделиться

Другие сообщения здесь проясняют, что результатом является "пустой" IQueryable, который ToList () правильно изменит на пустой список и т. Д.

Будьте осторожны с некоторыми из операторы, поскольку они будут выбрасывать, если вы отправите им пустой перечислимый. Это может произойти, если вы соедините их вместе.

6
ответ дан 23 November 2019 в 01:31
поделиться
var lst = new List<int>() { 1, 2, 3 };
var ans = lst.Where( i => i > 3 );

(ans == null).Dump();  // False
(ans.Count() == 0 ).Dump();  // True

(Дамп взят из LinqPad )

17
ответ дан 23 November 2019 в 01:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: