.NET 4.x Класс с поддержкой интерфейса IEnumerable - C#

Узнай цену своей работы

Формулировка задачи:

Имеется некоторый класс:
Листинг программы
  1. class DoublyLinkedList<T> : IEnumerable<T>
  2. {...}
Хочу реализовать у него поддержку интерфейса IEnumerable<T>:
Листинг программы
  1. IEnumerator<T> IEnumerable<T>.GetEnumerator()
  2. {
  3. Node<T> current = first;
  4. for(int i = 0; i < size; i++)
  5. {
  6. yield return current.Value;
  7. current = current.Next;
  8. }
  9. }
Однако для компиляции приложения также нужно реализовать следующий метод:
Листинг программы
  1. IEnumerator IEnumerable.GetEnumerator()
  2. {
  3. throw new NotImplementedException();
  4. }
Скажите, ЗАЧЕМ и КАК в моем случае нужно правильно реализовывать последний метод? Как я понимаю, он вообще не нужен, поскольку класс-то обобщенный.

Решение задачи: «.NET 4.x Класс с поддержкой интерфейса IEnumerable»

textual
Листинг программы
  1.         public IEnumerator<T> GetEnumerator()
  2.         {
  3.             Node<T> current = first;
  4.             for (int i = 0; i < size; i++)
  5.             {
  6.                 yield return current.Value;
  7.                 current = current.Next;
  8.             }
  9.         }
  10.  
  11.         IEnumerator IEnumerable.GetEnumerator()
  12.         {
  13.             return GetEnumerator();
  14.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы