Научился: Использованию yield. Yield позволяет избавится от реализации дополнительного класса , при использовании цикла foreach. И в определенных ситуациях оптимизировать вычисления при большом переборе значений.
Научился: Создавать классы, реализующие интерфейсы IEnumerable, IEnumerator Трудности: нет сложностей, все логично Итератор - объект, который обеспечивает доступ к элементам и перемещение по последовательности данных.