На этом занятии мы познакомимся с понятием индексатор (Indexer), который позволяет обращаться к элементам объектов содержащие коллекции по индексу (как к элементам массива). Научимся создавать итератор для перебора имеющихся значений в коллекциях с помощью ключевого слова yield. А также реализуем интерфейсы IEnumerable и IEnumerator, которые используются в большинстве коллекций и необходимы для использования цикла foreach. Кстати, меня зовут Вадим, и я программист на языке C# уже больше 8 лет. Рассказываю про IT технологии и веду этот курс по языку C# с нуля под названием Учим Шарп. В его рамках мы рассмотрим как базовый синтаксис языка C Sharp, так и его практическое применение и специальные технологии, такие как ASP.NET, Core, MVC, Unity, WCF, WPF, структуры данных и алгоритмы обработки, паттерны проектирования и многое другое. Подписывайтесь, впереди еще много интересного.
Нормальных каналов для прогеров мало, даже книги и веб-ресурсы на русском по пальцам можно пересчитать, если разбирать сложные темы на шарпе. И те не всегда под актуальные версии языка и о том что нужно. Спасибо за труды!!! Сам сейчас закончил все азы по Г. Шилдту (учил само сабой не только по нему), начал переходить на ASP и WPF за практикой, и именно по этой теме был последний пробел в понимании фич дот нета. Все, пора во фреймворки, аминь )))
Скажите пожалуйста, никак не могу это понять, почему мы и IEnumerable и IEnumerator указываем как типы данных? вообще не понимаю как мы в качестве типа данных указываем интерфейс? как это так, интерфейс же можно только наследовать/реализовывать
Ты говоришь что в этой переменной будет лежать то, что реализует интерфейс. Тоже самое с классом. Мы создаём переменную такого типа в котором будет хранится данный тип или наследники его
Поясните пожалуйста суть интерфейса IEnumerable ? Он просто реализует интерфейс IEnumerator? Если я и так буду реализовывать IEnumerator, можно ли не наследоваться от IEnuberable?
Спасиб разбираю троелсена, на скок я понял именованные нумераторы в данном случае getnamber() должен определяться не как ienumerator, а как ienumerable. Так в книге написано, но там ничего не написанно про то что именованный нумератор с елдом возвоащает колекцию, я думал элемент и поэтому сидел тупил от записи foreach(Car car in parking.getcar())посмотрел твое видео и понял что getcar() с елдом внутри возвращает колекцию а не одну машину. Спасиб за видос!
Как-то в этот раз совсем в формате "вот есть такие штуки, но что это и как работает я вам не расскажу". Я так и не понял что это за yield и как он работает. Да и реализация итерации просто супер -- просто делегируйте это дерьмо на уже готовый метод.
ну да, мне самом этот стрим не очень понравился. в целом идея такая, можно реализовывать перечислитель для коллекции в ручную, а можно сократить количество кода с помощью yield + сделать ленивую загрузку. Скоро когда дойдем в текущем курсе по рихтеру до этой темы постараюсь более подробно разъяснить
Сколько фейспалмов было пробито мною во время прсмотра, столько чуши сказано, про факториал, про числа Фибоначчи, про рандомное вписывание обобщения в тип обобщения интерфейса, абсолютное не понимаю как работать с итераторами, автор не понимает про такие вещи как Current, MoveNext, Reset вообще не понимаю к чему это 1:17:30 писать индекс в скобках к индексатору, уже второй раз смотрю видео на канале и просто понимаю что автор берёт готовые материалы со сторонних ресурсов и их преподносит, сам при этом не имея большого понятия как оно устроено. UPD: 1:19:41 проходить var item по объекту итератор многого стоит, смешно и неудобно смотреть на эту непонятливость темы со стороны автора
На этом занятии мы познакомимся с понятием индексатор (Indexer), который позволяет обращаться к элементам объектов содержащие коллекции по индексу (как к элементам массива). Научимся создавать итератор для перебора имеющихся значений в коллекциях с помощью ключевого слова yield. А также реализуем интерфейсы IEnumerable и IEnumerator, которые используются в большинстве коллекций и необходимы для использования цикла foreach.
Кстати, меня зовут Вадим, и я программист на языке C# уже больше 8 лет. Рассказываю про IT технологии и веду этот курс по языку C# с нуля под названием Учим Шарп. В его рамках мы рассмотрим как базовый синтаксис языка C Sharp, так и его практическое применение и специальные технологии, такие как ASP.NET, Core, MVC, Unity, WCF, WPF, структуры данных и алгоритмы обработки, паттерны проектирования и многое другое. Подписывайтесь, впереди еще много интересного.
Огромный тебе респект, лайк и подписка за то, что делаешь это для нас!!!
Спасибо за поддержку )
Нормальных каналов для прогеров мало, даже книги и веб-ресурсы на русском по пальцам можно пересчитать, если разбирать сложные темы на шарпе. И те не всегда под актуальные версии языка и о том что нужно.
Спасибо за труды!!!
Сам сейчас закончил все азы по Г. Шилдту (учил само сабой не только по нему), начал переходить на ASP и WPF за практикой, и именно по этой теме был последний пробел в понимании фич дот нета.
Все, пора во фреймворки, аминь )))
Спасибо за видео. Было бы хорошо иметь таймлайны с началом какой либо темы.
Скажите пожалуйста, никак не могу это понять, почему мы и IEnumerable и IEnumerator указываем как типы данных?
вообще не понимаю как мы в качестве типа данных указываем интерфейс? как это так, интерфейс же можно только наследовать/реализовывать
так же как и клас можно наследовать и реализововать его можно использовать как тип данніх. то же и с интерфейсами
@@artur8904 Спасибо!!!
Ты говоришь что в этой переменной будет лежать то, что реализует интерфейс. Тоже самое с классом. Мы создаём переменную такого типа в котором будет хранится данный тип или наследники его
мда, ну нафиг такой сахар, который только путает и сбивает с толку. Сахар вроде должен упрощать, а не усложнять жизнь.
Поясните пожалуйста суть интерфейса IEnumerable ? Он просто реализует интерфейс IEnumerator? Если я и так буду реализовывать IEnumerator, можно ли не наследоваться от IEnuberable?
Этот интерфейс гарантирует, что в классе будет перечислитель
Спасиб разбираю троелсена, на скок я понял именованные нумераторы в данном случае getnamber() должен определяться не как ienumerator, а как ienumerable. Так в книге написано, но там ничего не написанно про то что именованный нумератор с елдом возвоащает колекцию, я думал элемент и поэтому сидел тупил от записи foreach(Car car in parking.getcar())посмотрел твое видео и понял что getcar() с елдом внутри возвращает колекцию а не одну машину. Спасиб за видос!
@Написал и в теории обосновал основы клиент-серверного приложения
@Упомянул про индексаторы
Норм
все лицо в сахаре :-D Обляпался
Можно исходник ?
github.com/shwanoff/Lesson22
только С, только хардкорррр! И можно чай с сахаром пить))
звук ужасно тихий в некоторых видеороликах ( к лету догоню наверное вас )))
странно, но в других видео наверное лучше
Как-то в этот раз совсем в формате "вот есть такие штуки, но что это и как работает я вам не расскажу". Я так и не понял что это за yield и как он работает. Да и реализация итерации просто супер -- просто делегируйте это дерьмо на уже готовый метод.
ну да, мне самом этот стрим не очень понравился. в целом идея такая, можно реализовывать перечислитель для коллекции в ручную, а можно сократить количество кода с помощью yield + сделать ленивую загрузку. Скоро когда дойдем в текущем курсе по рихтеру до этой темы постараюсь более подробно разъяснить
Сколько фейспалмов было пробито мною во время прсмотра, столько чуши сказано, про факториал, про числа Фибоначчи, про рандомное вписывание обобщения в тип обобщения интерфейса, абсолютное не понимаю как работать с итераторами, автор не понимает про такие вещи как Current, MoveNext, Reset вообще не понимаю к чему это 1:17:30 писать индекс в скобках к индексатору, уже второй раз смотрю видео на канале и просто понимаю что автор берёт готовые материалы со сторонних ресурсов и их преподносит, сам при этом не имея большого понятия как оно устроено.
UPD: 1:19:41 проходить var item по объекту итератор многого стоит, смешно и неудобно смотреть на эту непонятливость темы со стороны автора
Пожалуйста, погромче. Потише можно сделать на устройствах, а погромче уже не выкрутишь с мобильного. Спасибо за видео.
привет
Помаленьку проехал. Но надо будет еще пару раз столкнуться с темой.
Да, нужно обязательно на практике посмотреть )
6:55 , слышно как кто то разговаривает сквозь жужжание ... ясно, прослушивают хакера ..
За нами следят! Где моя шапочка из фольги?! :))
жалко что он больше не ведет канал , спасибо
+++
Виэу название, но не понимаю, как это можно растянуть на 2 часа
Как-то совсем не подготовлено. Автор сам не вполне понимает тему
Чувак не в теме, объясняет методом тыка, цель одна - показать вам как можно больше рекламы