Найти в коде ошибку, приводящую к зацикливанию - C#

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

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

При компиляции возникает ошибка "An unhandled exception of type 'System.StackOverflowException' occurred in 14.2.4.exe". Почему-то возникает бесконечный цикл в свойстве motoCapacity. Как можно исправить ошибку и объясните, почему она она возникла, плз?
namespace _14._2._4
{
    class Moto : trans
    {
        public int Sidecar { get; set; }
 
        public int motoCapacity
        {
            get { return motoCapacity; }
            set
            {
                if (Sidecar == 1) motoCapacity = value;
                else if (Sidecar == 0) motoCapacity = 0;
            }
        }
 
        public Moto(string brand, int number, int velocity, int myMotoCapacity, int mySidecar)
            : base(brand, number, velocity)
        {
            Sidecar = mySidecar;
            motoCapacity = myMotoCapacity;
        }
 
        public override void info()
        {
            Console.WriteLine("Тип транспорта: мотоцикл");
            base.info();
        }
 
        public override void CapacityInfo()
        {
            Console.WriteLine("Грузоподъемность: {0}", motoCapacity);
        }
    }
}

Решение задачи: «Найти в коде ошибку, приводящую к зацикливанию»

textual
Листинг программы
        public int motoCapacity
        {
            get { return motocapacity; }
            set
            {
                if (Sidecar == 1) motoсapacity = value;
                else if (Sidecar == 0) motoсapacity = 0;
            }
        }
 
private int motoсapacity;

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


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

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

15   голосов , оценка 4 из 5