C# 属性不返回我在 set 访问器中更改的值

E.T*_*aku 0 c# properties

物业:

public double TotalFee
{ 
    get { return totalfee; }
    set
    {
        if ((course == "C#") || (course == "c#")) { totalfee = 2000; }
        else { totalfee = 3000; }
    }
} 
Run Code Online (Sandbox Code Playgroud)

我创建了一个名为totalfee的变量 ' private double totalfee;' ,其中我在开始时没有分配任何值,当我在我的程序中调用该属性时返回 0。即使我为totalfee提供了一个预值,它也只会返回该值,而不会满足我的任何条件制作。这个想法是,当用户输入课程时:c# 它将返回totalfee 2000的值;如果他输入另一门课程,它将返回totalfee 3000的值。:/

Swe*_*per 5

听起来您根本不需要私有字段。你可以把所有的逻辑都放在 getter 中:

public double TotalFee
{ 
    get
    {
        if ((course == "C#") || (course == "c#")) { return 2000; }
        else { return 3000; }
    }
} 
Run Code Online (Sandbox Code Playgroud)