Реализовать стэк на основе массива с использованием интерфейса, который наследует 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(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д