.NET 4.x Класс с поддержкой интерфейса IEnumerable - C#
Формулировка задачи:
Имеется некоторый класс:
Хочу реализовать у него поддержку интерфейса IEnumerable<T>:
Однако для компиляции приложения также нужно реализовать следующий метод:
Скажите, ЗАЧЕМ и КАК в моем случае нужно правильно реализовывать последний метод?
Как я понимаю, он вообще не нужен, поскольку класс-то обобщенный.
Листинг программы
- class DoublyLinkedList<T> : IEnumerable<T>
- {...}
Листинг программы
- IEnumerator<T> IEnumerable<T>.GetEnumerator()
- {
- Node<T> current = first;
- for(int i = 0; i < size; i++)
- {
- yield return current.Value;
- current = current.Next;
- }
- }
Листинг программы
- IEnumerator IEnumerable.GetEnumerator()
- {
- throw new NotImplementedException();
- }
Решение задачи: «.NET 4.x Класс с поддержкой интерфейса IEnumerable»
textual
Листинг программы
- public IEnumerator<T> GetEnumerator()
- {
- Node<T> current = first;
- for (int i = 0; i < size; i++)
- {
- yield return current.Value;
- current = current.Next;
- }
- }
- IEnumerator IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д