P
P
ProblemBook.NET
Search…
⌃K

«YieldExceptionYield» (Решение)

Ответ

Exception не произойдёт.

Объяснение

Действительно, строка
var numbers = GetSmallNumbers();
только строит запрос, но не выполняет его. Строка
var evenNumbers = numbers.Select(n => n * 2);
также строит ещё один запрос без непосредственного выполнения. Отдельный интерес представляет последняя строка метода Main:
Console.WriteLine(evenNumbers.FirstOrDefault());
Данный вызов оценит получит только первый элемент запроса (одиночные вызовы MoveNext() и Current), дальнейшее получение элементов перечисления происходить не будет. Таким образом, код отработает без исключений.