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