> For the complete documentation index, see [llms.txt](https://andreyakinshin.gitbook.io/problembookdotnet/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://andreyakinshin.gitbook.io/problembookdotnet/ru/valuetypes/enumerator-s.md).

# «Enumerator» (Решение)

## Ответ

Цикл зависнет, будут выводиться нули.

## Объяснение

Для понимания этого факта необходимо вспомнить, что метод `GetEnumerator` для `List<T>` [возвращает](http://msdn.microsoft.com/en-us/library/x854yt9s.aspx) структуру. А значит, при каждом обращении к методу `x.Items.MoveNext()` мы будем работать не с оригинальным енумератором, а с его копией, не меняя при этом внутреннее состояние исходного енумератора (а именно, его текущий элемент `x.Items.Current`). Таким образом, в условии цикла ничего полезного не происходит, текущий элемент на веки останется нулём.

[Задача](/problembookdotnet/ru/valuetypes/enumerator-p.md)
