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

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

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

  • На этом уроке мы узнаем, как упростить создание итератора.
    Для этого достаточно просто написать нужный нам цикл,
    внутри которого воспользоватся волшебным словом yield.
  • Дата отправки отчёта: 1 октября 2018 г.
  • Задание выполнено: за 4 час. 26 мин.
  • Чему научился: yield это синтаксический сахар для автоматической реализации IEnumerator в котором хранится состояние перечисления.
  • Оценка видео-уроку:
Отчёт от 10080 за Итератор / Итератор. Волшебное слово yield.




Оцени работу

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

19384. --
Владимир
Владимир
ответить
→  FireWolf  # Итератор / Итератор. Волшебное слово yield. / 2018-10-01 18:26

Впервые слышу про yield, лол


10080. --
FireWolf
FireWolf
ответить
→  Владимир  # Итератор / Итератор. Волшебное слово yield. / 2018-10-01 18:43

Да оно и не всегда нужно. Основное удобство в возможности обращаться как к коллекции к источнику данных, когда заранее неизвестно количество данных. Например, можно оформить программу, как будто мы в цикле foreach перебираем коллекцию простых чисел для поиска подходящего для деления имеющегося числа, но при этом самой коллекции со всеми заранее просчитанными простыми числами у нас нет, а мы их получаем только по мере надобности.


  • Отчёт оценивали:
    6452Кирилл Шмойлов+1   18356Denis+1   3922Александр+1   19384Владимир+1   17947Dmitry Sinitsin+1   10895Danil42Russia+1   17486Freud+1   5649Максим Лапшинов+1   9913vip+1   1232Фомичева Наталья+1   17606Виктор+1   17663Oleksandr+1   19869Артем+1   19525Александр Балбашов+1   3747Сергей+1   16218Дмитрий+1  

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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Использованию yield.
Yield позволяет избавится от реализации дополнительного класса , при использовании цикла foreach. И в определенных ситуациях оптимизировать вычисления при большом переборе значений.


Научился: На этом уроке мы наконец-то воспользовались помощью волшебного слова yield. Я еще не до конца прочувствовал эту тему. В голове возникал вопрос: "Для чего городить огород, если есть цикл foreach, который до этого всегда выручал и без использования этих интерфейсов!" Оказалось, что foreach также использует итератор, но неявно. На данный момент я понимаю так: Класс , являющийся коллекцией объектов, использует yield для реализации последовательного обращения ко всем своим элементам с начала до конца. При выполнении программы, yield создаёт класс, который содержит ряд методов по созданию счётчика перечисления, отслеживанию его переполнения, сброса при повторном обращении и тому подобное...