public class Animal
{
public string Name { get; init; }
public string Description { get; private set; }
public int Age { get; internal set; }
private Animal[] children = new Animal[0];
public Animal this[int index]
{
get
{
if (index < 0 || index >= children.Length)
return null;
return children[index];
}
set
{
if (index < 0)
return;
if (index >= children.Length)
{
Animal[] newChildren = new Animal[index + 1];
for (int i = 0; i < children.Length; i++)
{
newChildren[i] = children[i];
}
children = newChildren;
}
children[index] = value;
}
}
public int CountAnimalsChild
{
get
{
return children.Length;
}
}
public Animal(string name = "", string description = "", int age = 0)
{
Name = name;
Description = description;
Age = age;
}
}
class Program
{
static void Main()
{
Animal animal = new Animal("Oleg", "Kit", 3);
animal[5] = new Animal("Kit", "Malenkiy kit", 1);
Console.WriteLine(animal.Name);
Console.WriteLine(animal[5].Name);
Console.WriteLine(animal.CountAnimalsChild);
}
}