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

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

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

Имеется некоторый класс:
class DoublyLinkedList<T> : IEnumerable<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();
        }

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


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

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

12   голосов , оценка 3.917 из 5
Похожие ответы