➡️ Если вам нравятся мои уроки и вы хотите поддержать создание новых материалов, вы можете приобрести мой курс на Udemy. Спасибо за вашу поддержку!
👉 https://www.udemy.com/course/simplecode-cshap/?referralCode=53C0314076F77DCC2A02
🔹 Telegram канал https://t.me/SergeySimpleCode
➡️ ИСХОДНЫЙ КОД https://www.patreon.com/posts/iskhodnyi-kod-k-119827725?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator&utm_content=join_link
✅ Спонсорка на канале: https://www.youtube.com/channel/UCtLKO1Cb2GVNrbU7Fi0pM0w/join
✅ BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ Подписывайтесь на канал https://www.youtube.com/channel/UCtLKO1Cb2GVNrbU7Fi0pM0w
✅ Enumerable и IEnumerator в C#: как работает цикл foreach и при чём тут паттерн Итератор | C# | #85 https://www.youtube.com/watch?v=YpRSnUkepv8&list=PLQOaTSbfxUtD6kMmAYc8Fooqya3pjLs1N&index=105
💡 Что такое yield в C#? Разбираем на пальцах!
В этом видео вы узнаете, как ключевое слово yield превращает обычные методы в стейт-машины, позволяет использовать отложенное выполнение и помогает работать с огромными коллекциями данных с использованием минимального объёма памяти.
🔍 Основные моменты урока:
1️⃣ Стейт-машина под капотом — Метод с yield компилируется в скрытый класс, который управляет состоянием итерации. Мы разберем, что происходит на уровне компилятора.
2️⃣ Отложенное выполнение — Код внутри метода с yield выполняется только тогда, когда вы начинаете перечислять коллекцию (например, в foreach). Это значительно экономит ресурсы и повышает производительность.
3️⃣ Эффективное использование памяти — Работа с элементами по одному снижает нагрузку на оперативную память и реже вызывает сборщик мусора, что критически важно при обработке больших объемов данных.
00:00 ► пример работы yield return
03:13 ► yield стейт машина и IEnumerator
09:03 ► yield и использование памяти всё об оптимизации
11:32 ► yield как бесконечный генертор объектов
12:56 ► yield и LINQ
13:40 ► benchmark yield - пруфы
#сишарп #simplecode #урокипрограммирования