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

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

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

В классе Magazine: реализовать интерфейс System.Collections.IEnumerable для перебора статей (объектов типа Article), авторы которых не входят в список редакторов журнала (объектов типа Person); для этого определить вспомогательный класс MagazineEnumerator, реализующий интерфейс System.Collections.IEnumerator. Это в классе Magazine нужно, например определить:
Листинг программы
  1. public IEnumerable GetAuth()
  2. {
  3. yield return <статья>;
  4. }
Создать класс опо этому шаблону:
Листинг программы
  1. class CMagazineEnumerator : IEnumerable, IEnumerator
  2. {
  3. int[] ints = { 12, 13, 1, 4 };
  4. int index = -1;
  5. // Реализуем интерфейс IEnumerable
  6. public IEnumerator GetEnumerator()
  7. {
  8. return this;
  9. }
  10. // Реализуем интерфейс IEnumerator
  11. public bool MoveNext()
  12. {
  13. if (index == ints.Length - 1)
  14. {
  15. Reset();
  16. return false;
  17. }
  18. index++;
  19. return true;
  20. }
  21. public void Reset()
  22. {
  23. index = -1;
  24. }
  25. public object Current
  26. {
  27. get
  28. {
  29. return ints[index];
  30. }
  31. }
  32. }
Так? Вот только я не пойму как использовать вспомогательный класс в Magazine??

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

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

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


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

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

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

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

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

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