Реализовать стэк на основе массива с использованием интерфейса, который наследует IEnumerable - C#

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

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

Есть класс ArrayStack <T>: IStack <T> и интерфейс IStack <T>: IEnumerable <T>. В классе постоянно выдается ошибка:"LibraryStackAndQueue.ClassesOfStack.ArrayStack<T>" не реализует член интерфейса "System.Collections.IEnumerable.GetEnumerator()". "LibraryStackAndQueue.ClassesOfStack.ArrayStack<T>.GetEnumerator()" не может реализовать "System.Collections.IEnumerable.GetEnumerator()", потому что не имеет соответствующего возвращаемого типа "System.Collections.IEnumerator". Также выдается ошибка:Не удается неявно преобразовать тип "System.Collections.Generic.IEnumerable<T>" в "System.Collections.Generic.IEnumerator<T>". Существует явное преобразование (возможно, пропущено приведение типов), когда я вставляю следующий код в класс:
 public IEnumerable<T> GetEnumerator()
        {
            for (int i = count - 1; i >= 0; --i)
            {
                yield return stack[i];
            }
        }
  
        IEnumerator<T> IEnumerable<T>.GetEnumerator()
        {
            return GetEnumerator();
        }
Помогите, пожалуйста, исправить ошибки)

Решение задачи: «Реализовать стэк на основе массива с использованием интерфейса, который наследует IEnumerable»

textual
Листинг программы
public IEnumerator<T> GetEnumerator()
{
   for (int i = count - 1; i >= 0; i--)
      yield return stack[i];
}
 
IEnumerator IEnumerable.GetEnumerator()
{
   return GetEnumerator();
}

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


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

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

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