Как впихнуть цикл внутри конструктора

class Detail
{
    public string Name { get; private set; }
    public int Price
    { get; private set; }

    public Detail(string name, int price)
    {
        Name = name;
        Price = price;
    }
}



class Engine : Detail
    {
        private List<Engine> _engines;

        public Engine(string name, int price, int amount) : base (name, price)
        {
            _engines = new List<Engine>()
            {
                for (int i = 0; i < amount; i++)
                {
                new Engine("Двигатель", 50000);
                }
            };
        }
    }

Можно ли такое реализовать? Цикл внутри конструктора, я хочу чтобы при инициализации объекта просто вписал кол-во таких объектов и у тебя создался лист с нужным кол-вом объектов


Ответы (2 шт):

Автор решения: Нетерпеливый игуан

Просто добавьте второй конструктор, но с двумя параметрами:

class Engine : Detail
    {
        private List<Engine> _engines;

        public Engine(string name, int price) : base (name, price)
        {
        }

        public Engine(string name, int price, int amount) : base (name, price)
        {
            _engines = new List<Engine>();
            for (int i = 0; i < amount; i++)
            {
                _engines.Add(new Engine("Двигатель", 50000));
            }
        }
    }
→ Ссылка
Автор решения: Rotmayer
class Engine : Detail
    {
        private List<Engine> _engines;
        private int amount;
        

        public Engine(string name, int price) : base (name, price)
        {
            _engines = new List<Engine>();

            for (int i = 0; i < amount; i++)
            {
                _engines.Add(new Engine("Двигатель", 50000));
            }
            
        }
    }

Поторопился с вопросом, нашёл решение проблемы

→ Ссылка