Нужно ли использовать интерфейс IEnumerable? - C#
Формулировка задачи:
Здравствуйте!
Подскажите пожалуйста , необходимо ли в строке 85 указать , что предком класса class Stado является интерфейс IEnumerable ?
P.S. Программа дает одинаковый результат , что с указанием этого , что без указания .
class Stado //: IEnumerable
using System; using System.Collections; namespace ConsoleApplication1 { class Monster { string name; public int health, ammo; public Monster() { this.health = 100; this.ammo = 100; } public Monster(string name) : this() { this.name = name; } public int Health { get { return health; } set { if (value > 0) health = value; else health = 0; } } public int Ammo { get { return ammo; } set { if (value > 0) ammo = value; else ammo = 0; } } public string Name { get { return name; } } virtual public void Passport() { Console.WriteLine("Monster {0} \t\t health = {1} ammo = {2} ", name, health, ammo); } } class Daemon : Monster { int brain; public Daemon() { brain = 1; } public Daemon(string name, int brain) : base(name) { this.brain = brain; } override public void Passport() { Console.WriteLine("Daemon {0} \t\t health = {1} ammo = {2} brain = {3} ", Name, Health, Ammo, brain); } } class Stado //: IEnumerable { private Monster[] mas; private int n; public Stado() { mas = new Monster[10]; n = 0; } public IEnumerator GetEnumerator() { for (int i = 0; i < n; ++i) yield return mas[i]; } public void Add(Monster m) { if (n >= 10) return; mas[n] = m; ++n; } } class Class1 { static void Main() { Stado s = new Stado(); s.Add(new Monster()); s.Add(new Monster("Вася")); s.Add(new Daemon()); foreach (Monster m in s) m.Passport(); Console.ReadKey(); } } }
Решение задачи: «Нужно ли использовать интерфейс IEnumerable?»
textual
Листинг программы
public IEnumerator GetEnumerator() { for (int i = 0; i < n; ++i) yield return mas[i]; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д