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

Формула программиста
основатель — Волосатов Евгений Витольдович
C# Олимпиада из Простоквашино

Итератор / Итератор. Один метод вместо классов.

  • На этом уроке мы увидим, что класс, оказывается, создавать не обязательно.
    Магия слова yield сделает всё за тебя, можно просто один раз организовать перебор нужных элементов,
    и потом его можно использовать через обычный foreach в любом месте программы.
    Вся прелесть в том, что перебор элементов происходит по мере необходимости.
  • Дата отправки отчёта: 6 апреля 2016 г.
  • Задание выполнено: за 10 мин.
  • Чему научился: Я узнал об итераторах. узнал о классе IENumerable. Получил много полезных знаний
  • Что было сложным: Ничего
  • Комментарии: Урок понравился. За короткое время узнал много нового. Особенно понравился вариант программы с использованием оператора yield :~) Спасибо за урок! Он замечателен!
  • Оценка видео-уроку:
Отчёт от 8886 за Итератор / Итератор. Один метод вместо классов.


Отчёт от 8886 за Итератор / Итератор. Один метод вместо классов.




Оцени работу

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

8886. Михаил Ермишин
Михаил Ермишин
ответить
→  Олюшка  # Професишарп / Итератор 7 / 2016-04-06 22:33

Спасибо :~) =3


8886. Михаил Ермишин
Михаил Ермишин
ответить
→  Олюшка  # Професишарп / Итератор 7 / 2016-04-06 22:32

Да, стараюсь :~)


24. Олюшка
Олюшка
ответить
→  Михаил Ермишин  # Професишарп / Итератор 7 / 2016-04-06 21:58

Миша, ух ты уже все и сделал! Ай да Молодец! :)


24. Олюшка
Олюшка
ответить
→  Михаил Ермишин  # Професишарп / Итератор 7 / 2016-04-06 21:58

Миша, ух ты уже все и сделал! Ай да Молодец! :)


  • Отчёт оценивали:
    1Евгений Волосатов+1   3747Сергей+1   6925Артём+1   24Олюшка+1   4467Alcatraz+1   6452Кирилл Шмойлов+1   4004Елена+1   4395Денис+1   9820Konstantin+1   9544Даниил Степаненко+1   689Igorenzia+1   36Данил+1   4992Николай+1   2721mikemet+1   9612Олег Михайлович+1   459Сергей Сергеевич+1   9408Олег+1   8938mr.whirl+1   7645Александр Львович+1   9332Dima+1   8886Михаил Ермишин+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Повторил навыки упрощения кода.
Курс как всегда замечательный, но довольно трудноват, ибо пока не поймешь суть итераторов и смысл, то делать нечего. Я его ещё раз пройду посмотрю. А так идея хорошая, очень нравятся такие профи вебинары, ибо для своей цели надо знать больше, чем много:)
Научился: Затрудняюсь даже сказать.
Трудности: Понимание происходящего.
Вот я закончил курс. Почему курс оказался плох? Не знаю как для других, я про себя скажу. Самая главная ошибка всех обучающих курсов или преподов в том, что они либо сами не понимают до конца тему, либо не могут применить правильно инструмент. Либо применяют его примерно так: розовый банан скачет по космосу. Я долго думал над этой фразой, чтобы она как можно более упоротей звучала. Примерно то же я вижу у себя на экране: черное окно и там столбик каких-то цифр. Я понятия не имею, что такое простые множители или там цифры. Для меня если я могу запомнить цифры в голове, то они простые, а 233459089 для меня сложная цифра. Курс называется "разложение числа на простые множители". Сначала я подумал, что число 123 будет раскладываться на 1, 2 и 3. С этим примером у меня связано одно событие. В пту году в 2005 был день открытых дверей и надо было что-то сделать и показать для посетителей, типа чем мы занимаемся тут. У меня валялась плата с тремя индикаторами от спутникового приемника и там было 3 регистра для статической индикации. Я еще раньше с корешем ходил к нему в общагу и он показывал мне, как написать прошивку для контроллера под эту плату. Типа вот есть число 123 и оно влазит в 1 байт, а плата с индикаторами - это 3 байта. Как бы так разобрать число на отдельные цифры? Я пришел к нашей училке по матану и программированию и спросил ее, а она мне и рассказала. Я это написал в коде и оно заработало. С тех пор я до конца жизни это буду помнить. Тут я не понял, что такое простые множители и зачем они мне нужны в этой проге. Я тупо не видел образа или конкретного применения. Поэтому у меня в голове розовый банан скачет по космосу. Я пошарился часа 2 по гуглу и нашел пару боле менее годных визуальных примеров. http://csharphelper.com/blog/2017/04/enumerate-treeview-nodes-c/ http://brain-it.blogspot.de/2009/08/c-yield.html http://flash2048.com/post/yield http://www.c-sharpcorner.com/UploadFile/40e97e/iterator-pattern/ Вот тут есть очень хороший рисунок, который расписывает маппинг методов интерфейса к переменным цикла foraech. Одна эта картинка уже решает 50% вопросов. Как я понял - елд нужен для составления какого-то списка в памяти по критериями фильтрации какого-то массива данных. Потом этот список можно использовать дальше в своем коде. И как там пишут - linq заменил почти елд, т.к. фильтры стали делаться sql подобными запросами. В конечном эффекте я все равно не понял про итераторы и елды. Перебрать дерево вроде можно и так. Мне в реальной проге надо было перебирать радиокнопки отмеченные в разных группах и я делал в цикле. Интуитивно я ощущаю, что эта штука нужна для реализации фильтра в контролах типа gridview или как его там, который рисует таблицы со столбцами как в екселе или типа того. Но этот курс из категории профи, так что неудивительно, что ничего непонятно. Что нужно было сделать? 1 Дать простое определение итератору. 2 Что такое IEnumerator и IEnumerable. 3 В каком реальном проекте их использовали и что было бы, если бы не использовали. 4 Yield это обязательное слово в связке IEnumerator и IEnumerable или идет дополнением? 5 Какой с него профит в реальном софте и что было бы без него. 6 Когда это нужно использовать и когда не нужно. Такие дела.