Обучение по c#

Формула программиста
основатель — Волосатов Евгений Витольдович
Java Tasks
Open shop Итератор

Итератор

На этом курсе мы познакомимся с интерфейсами IEnumerable + IEnumerator.
На примере решения задачи разложения числа на простые множители
мы будем создавать итератор, который будет перебирать простые числа.

Содержание курса
+ создание класса по интерфейсу IEnumerable
+ создание класса по интерфейсу IEnumerator
+ подробное объяснение, зачем нужно два класса.
+ использование yield для удобной реализации итератора.
+ создание итератора через функцию, не создавая спец. класса.

9 миниуроков.
1 час 22 минут.
Доступ на 15 дней.


Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 Итератор. Разложение числа на простые множители. 00:09:22 90 чел. ★ 4.9 ^
  На этом уроке мы создадим очевидный алгоритм,
который будет раскладывать число на просты множители.
2 Итератор. Создание пустого итератора. 00:11:21 87 чел. ★ 4.9 ^
  На этом уроке мы подберём ключ к циклу foreach.
создадим класс, который позволит создать свой алгоритм
для перебора значений в обычном цикле foreach.

Нaпиши, что такое итератор, своими словами.
3 Итератор. Перебор чисел в итераторе. 00:09:04 83 чел. ★ 4.9 ^
  На этом уроке мы добавим в созданный класс перебор чисел.
Начнём с двойки и будем его всё время увеличивать "до бесконечности".
В конце урока добавим ограничение, чтобы итератор останавливался.
4 Итератор. Перебор простых чисел. 00:10:28 83 чел. ★ 4.9 ^
  На этом уроке мы сдеаем так, чтобы наш класс возвращал в цикл
только простые числа, как и было задуманно изначально.
5 Итератор. Зачем нужно два класса 00:16:21 75 чел. ★ 5 ^
  На этом уроке мы разберёмся, зачем всё-таки нужно два класса
один для создания итератора, второй для его использования.
Для демонстрации напишем программу, которая выведет
на экран таблицу умножения простых чисел.
6 Итератор. Волшебное слово yield. 00:11:03 75 чел. ★ 4.9 ^
  На этом уроке мы узнаем, как упростить создание итератора.
Для этого достаточно просто написать нужный нам цикл,
внутри которого воспользоватся волшебным словом yield.
7 Итератор. Список простых чисел. 00:08:42 72 чел. ★ 5 ^
  На этом уроке мы перепишем алгоритм перебора простых чисел с использованием списка,
который будет постепенно, по мере необходимости, пополняться новыми простыми числами.
8 Итератор. Один метод вместо классов. 00:06:19 71 чел. ★ 5 ^
  На этом уроке мы увидим, что класс, оказывается, создавать не обязательно.
Магия слова yield сделает всё за тебя, можно просто один раз организовать перебор нужных элементов,
и потом его можно использовать через обычный foreach в любом месте программы.
Вся прелесть в том, что перебор элементов происходит по мере необходимости.
9 ФИНАЛЬНЫЙ УРОК 61 чел. ★ 5 ^
  Поздравляю с окончанием курса!
Оставь, пожалуйста, отзыв о курсе.

Какой курс ты будешь проходить следующим?
10 VIP. Оптимизация поиска простых чисел 01:19:28 29 чел. ★ 5 ^
  Пишем функцию для поиска простых чисел и
поэтапно оптимизируем её в двух направлениях.
  Итого:   10 видеоуроков общей продолжительностью 2 час. 42 мин. 29 чел. ★ 4.95  
  Финалисты:   Иван Воронин,   Елена,   Артём,   Новопашин Владимир,   Алексей В.,   Фомичева Наталья,   Rita,   Станислав,   Neverwinter 2,   Permitin Alexey,   aleksey-k,   Николай Денисов,   Денис,   Bazel,   kalobyte,   Yefim,   Tekashnik,   Алексей Малышев,   Sergio,   Роман,   konstantin,   Сергей Стефаненко,   chokayes,   ser2018,   vip,   Виктор,   Дмитрий,   Максим Лапшинов,   FireWolf .

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





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

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

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

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


После прохождения курса осталось чувство неопределенности. С одной стороны, курс завершен, код понятен, пройден в отладке несколько раз. Из 2 классов сделали 1, потом вообще убрали классы, оставили только метод. И вроде бы все понятно, что делали, зачем. Но вот другая сторона говорит мне, "что это было? Зачем это все?". Думаю, что окончательное и бесповоротное понимание этих интерфейсов придет после попытки использовать их в каком нибудь другом проекте. Тема этих интерфейсов очень интересная, поднимает важные вопросы и дает на них ответы. Я думаю, что каждый уважающий себя программист должен знать, как они работают. А если не знает - обязательно пройти этот курс =)


Научился: Курс хороший, мне понравился. Более глубоко разобрался в реализации интерфейсов IEnumerable и IEnumerator, а также в принципах работы оператора yield. Ценными оказались и комментарии Ивана Воронина в последнем уроке, спасибо ему за это. Следующей темой для прохождения возьму коллекции, по сути это продолжение изучения принципов работы двух вышеупомянутых интерфейсов. Курс "Коллекции" есть в разделе Java