Реализация интерфейсов IEnumerable и IEnumerator для перебора статей - C#

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

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

В классе Magazine: реализовать интерфейс System.Collections.IEnumerable для перебора статей (объектов типа Article), авторы которых не входят в список редакторов журнала (объектов типа Person); для этого определить вспомогательный класс MagazineEnumerator, реализующий интерфейс System.Collections.IEnumerator. Это в классе Magazine нужно, например определить:
public IEnumerable GetAuth()
{ 
yield return <статья>;
}
Создать класс опо этому шаблону:
class CMagazineEnumerator : IEnumerable, IEnumerator
    {
        int[] ints = { 12, 13, 1, 4 };
        int index = -1;
 
        // Реализуем интерфейс IEnumerable
        public IEnumerator GetEnumerator()
        {
            return this;
        }
 
        // Реализуем интерфейс IEnumerator
        public bool MoveNext()
        {
            if (index == ints.Length - 1)
            {
                Reset();
                return false;
            }
 
            index++;
            return true;
        }
 
        public void Reset()
        {
            index = -1;
        }
 
        public object Current
        {
            get
            {
                return ints[index];
            }
        }
    }
Так? Вот только я не пойму как использовать вспомогательный класс в Magazine??

Решение задачи: «Реализация интерфейсов IEnumerable и IEnumerator для перебора статей»

textual
Листинг программы
public bool MoveNext()
{
   while (++index < magazine.Article.Count && IsEditor(magazine.Article[index].Author));
   return index < magazine.Article.Count;
}

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


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

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

10   голосов , оценка 3.9 из 5