Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!
Вебинар «Карточки памяти на Android» начнётся через 1  день 17 час. 24 мин.

Итератор / Итератор. Волшебное слово yield.

  • На этом уроке мы узнаем, как упростить создание итератора.
    Для этого достаточно просто написать нужный нам цикл,
    внутри которого воспользоватся волшебным словом yield.
  • Дата отправки отчёта: 7 апреля 2016 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: Использовать yield!
  • Что было сложным: Это надо пропустить через себя, чтобы начать использовать не задумываясь.
  • Комментарии: Здорово! Магия работает!
  • Оценка видео-уроку:
Отчёт от 2146 за Итератор / Итератор. Волшебное слово yield.




Оцени работу

 
Сохранить страницу:


Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Использовать ключевое слово yield для быстрой реализации итератора
Трудности: Понять, хотя бы приблизительно, как цикл с yield return преобразуется в нашу state machine.
Сфоpyлировaть своими слoвaми, что тaкoе yield. yield - ключевое слово, позволяющее быстро реализовать итератор, используя для реализации state machine синтаксис, подобный синтаксису "обычного" цикла. В уроке, кажется, не было отмечено, что при каждой последующей итерации управлении передается после(!) инструкции yield return. Заметил это, написав дополнительную инструкцию после yield return (отобразил на скриншоте). Это, конечно, нисколько не умаляет полезности урока, спасибо большое!
Научился: узнал ключевое слово yield
Трудности: все в пределах сил
не выделил в фигурные скобки "внутренний" if в методе IEnumerable.GetEnumerator(), помучился прежде чем дошло где ошибка