我的代码中没有错误,但是没有显示应该显示的输出

Joh*_*eph 0 c#

我不确定为什么,但是当我把断点放进去并逐步执行我的代码时,每个属性都返回null或0,当它们应该是我放在main中的值时,我疯狂的类的实例.

这是我的主要

namespace DemoJobs
{
    class Program
    {
        static void Main(string[] args)
        {
            string desc;
            decimal rate, time, total;

            Job job1 = new Job("Pour Driveway", 8m, 50.00m);
            Job job2 = new Job("Instal New Windows", 18m, 120m);
            Job job3 = job1 + job2;

            Console.WriteLine("The {0} job will take {1} hours, costing {2} per hour with a total of {3}", 
                job1.Description, job1.Time, job1.Rate.ToString("C"), job1.Total.ToString("C"));

            Console.WriteLine("The {0} job will take {1} hours, costing {2} per hour with a total of {3}", 
                job2.Description, job2.Time, job2.Rate.ToString("C"),  job2.Total.ToString("C"));

            Console.WriteLine("The {0} job will take {1} hours, costing {2} per hour with a total of {3}", 
                job3.Description, job3.Time, job3.Rate.ToString("C"), job3.Total.ToString("C"));

            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的班级

namespace DemoJobs
{
    public class Job
    {
        // variables
        private string _description;
        private decimal _time, _rate, _total;

        // property for the job description
        public string Description
        {
            get { return _description; }
            set { _description = value; }
        }

        // property for the total job time
        public decimal Time
        {
            get { return _time; }
            set { _time = value; CalcTotal(); }
        }

        // property for the jobs hourly rate
        public decimal Rate
        {
            get { return _rate; }
            set { _rate = value; CalcTotal(); }
        }

        // read-only property for the job total
        public decimal Total
        {
            get { return _total; }
        }

        // method to calculate the total for the job
        public decimal CalcTotal()
        {
            _total = _rate * _time;
            return _total;
        }

        // constructor
        public Job(string description, decimal time, decimal rate)
        {
            Description = _description;

            Time = _time;

            Rate = _rate;
        }

        public static Job operator +(Job job1, Job job2)
        {
            string newDescription = job1.Description + " and " + job2.Description;

            decimal newTime = job1.Time + job2.Time;

            decimal newRate = (job1.Rate + job2.Rate) / 2;

            decimal newTotalFee = newRate * newTime;

            return (new Job(newDescription, newTime, newRate));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Tig*_*ran 5

简单地改变(例子)

Description = _description;

Time = _time;

Rate = _rate;
Run Code Online (Sandbox Code Playgroud)

Description = description;

Time = time;

Rate = rate;
Run Code Online (Sandbox Code Playgroud)

在当前代码中,您使用实例字段,而不是实际的ctor参数.修改你的ctor重载,注意这方面,你完成了.