Similar presentations:
Оператор Yield Return. Интерфейсы Ienumerable и Ienumerator
1.
ОПЕРАТОР YIELD RETURN.ИНТЕРФЕЙСЫ IENUMERABLE И
IENUMERATOR.
2.
Интерфейс IEnumerable в C# представляетбазовый интерфейс для коллекций, которые
могут быть перечислены.
3.
Интерфейсы в С#• Интерфейс представляет ссылочный тип, который
может определять некоторый функционал - набор
методов и свойств без реализации.
• Интерфейс может содержать абстрактные методы,
свойства, индексаторы и события, которые должны
быть реализованы в производных классах.
4.
КоллекцииКоллекция — это класс-контейнер, в котором
содержатся и обрабатываются группы подобных
объектов.
Для работы с коллекциями нужно подключить
пространство имен System.Collections
5.
Коллекции в C#List<T>
Динамический массив
объектов. Он может
содержать элементы
различных типов.
Dictionary<TKey, TValue>
Коллекция пар "ключзначение". Ключи и
значения могут быть
любых типов.
6.
Коллекции в C#HashSet<T>
Queue<T>
Коллекция уникальных
элементов без
дубликатов.
Очередь элементов (FirstIn-First-Out)
7.
Коллекции в C#ObservableCollection<T>
Stack<T>
Коллекция,
поддерживающая
уведомления об
изменениях в элементах.
Коллекция элементов,
которая работает по
принципу "последним
пришел - первым вышел"
(LIFO)
8.
РЕАЛИЗАЦИЯ ИНТЕРФЕЙСОВIENUMERABLE И
IENUMERATOR
9.
Интерфейс IEnumerableGetEnumerator()
Интерфейс IEnumerable
имеет метод,
возвращающий ссылку на
другой интерфейс
- перечислитель.
10.
Интерфейс IEnumeratorМетод MoveNext()
Перемещает указатель на текущий элемент на следующую позицию в последовательности. (
последовательность закончилась- true, в противном случае- false)
Свойство Current
Возвращает объект в последовательности, на который указывает указатель.
Метод Reset()
Сбрасывает указатель позиции в начальное положение
.
11.
ИТЕРАТОРЫ ИОПЕРАТОР YIELD
12.
Итераторы• Итераторы в C# позволяют создавать объекты,
которые предоставляют доступ к элементам
последовательности по одному за раз. Они
обеспечивают удобный способ перебора элементов
коллекции
• При использовании оператора foreach для перебора
элементов коллекции, компилятор автоматически
преобразует цикл foreach в вызовы методов
GetEnumerator, MoveNext и Current. Итераторы
позволяют определить эти методы явным образом.
13.
Оператор yieldОператор yield используется в методах, которые
возвращают последовательность элементов. Он
позволяет возвращать элементы последовательности
по мере необходимости, при этом сохраняя состояние
метода между вызовами.
14.
Итераторы и оператор yieldИтератор - блок кода, который использует
оператор yield для перебора набора значений. Данный
блок кода может представлять тело метода, оператора
или блок get в свойствах.
Итератор использует две специальных инструкции:
• yield return: определяет возвращаемый элемент
• yield break: указывает, что последовательность
больше не имеет элементов.
15.
Примеры использования оператораyield