Нужно ли использовать интерфейс IEnumerable? - C#

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

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

Здравствуйте! Подскажите пожалуйста , необходимо ли в строке 85
Листинг программы
  1. class Stado //: IEnumerable
указать , что предком класса class Stado является интерфейс IEnumerable ? P.S. Программа дает одинаковый результат , что с указанием этого , что без указания .
Листинг программы
  1. using System;
  2. using System.Collections;
  3. namespace ConsoleApplication1
  4. {
  5. class Monster
  6. {
  7. string name;
  8. public int health, ammo;
  9. public Monster()
  10. {
  11. this.health = 100;
  12. this.ammo = 100;
  13. }
  14. public Monster(string name) : this()
  15. {
  16. this.name = name;
  17. }
  18. public int Health
  19. {
  20. get
  21. {
  22. return health;
  23. }
  24. set
  25. {
  26. if (value > 0) health = value;
  27. else health = 0;
  28. }
  29. }
  30. public int Ammo
  31. {
  32. get
  33. {
  34. return ammo;
  35. }
  36. set
  37. {
  38. if (value > 0) ammo = value;
  39. else ammo = 0;
  40. }
  41. }
  42. public string Name
  43. {
  44. get
  45. {
  46. return name;
  47. }
  48. }
  49. virtual public void Passport()
  50. {
  51. Console.WriteLine("Monster {0} \t\t health = {1} ammo = {2} ",
  52. name, health, ammo);
  53. }
  54. }
  55. class Daemon : Monster
  56. {
  57. int brain;
  58. public Daemon()
  59. {
  60. brain = 1;
  61. }
  62. public Daemon(string name, int brain) : base(name)
  63. {
  64. this.brain = brain;
  65. }
  66. override public void Passport()
  67. {
  68. Console.WriteLine("Daemon {0} \t\t health = {1} ammo = {2} brain = {3} ",
  69. Name, Health, Ammo, brain);
  70. }
  71. }
  72. class Stado //: IEnumerable
  73. {
  74. private Monster[] mas;
  75. private int n;
  76. public Stado()
  77. {
  78. mas = new Monster[10];
  79. n = 0;
  80. }
  81. public IEnumerator GetEnumerator()
  82. {
  83. for (int i = 0; i < n; ++i) yield return mas[i];
  84. }
  85. public void Add(Monster m)
  86. {
  87. if (n >= 10) return;
  88. mas[n] = m;
  89. ++n;
  90. }
  91. }
  92. class Class1
  93. {
  94. static void Main()
  95. {
  96. Stado s = new Stado();
  97. s.Add(new Monster());
  98. s.Add(new Monster("Вася"));
  99. s.Add(new Daemon());
  100. foreach (Monster m in s) m.Passport();
  101. Console.ReadKey();
  102. }
  103. }
  104. }

Решение задачи: «Нужно ли использовать интерфейс IEnumerable?»

textual
Листинг программы
  1. public IEnumerator GetEnumerator()
  2.         {
  3.              for (int i = 0; i < n; ++i) yield return mas[i];    
  4.         }

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


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

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

9   голосов , оценка 3.889 из 5

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

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

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