如何使用 C# 更改 getter 中的值?
How to change value in getter using C#?
所以我正在尝试创建一个程序来读取用户的输入。提交输入后,它需要 return 一些数据,但每个值总是 returns 0。
假设我要求用户输入 5 个输入:
firstPaychek, secondPaycheck, finanancialAid, allowances and tips
.
我还将这些变量创建为 0.0,因为它们都是双精度的。这是 firstPaycheck
的 setter 和 getter
private double payCheckOne = 0.0;
private double payCheckTwo = 0.0;
private double financialAid = 0.0;
private double allowance = 0.0;
private double TIPS = 0.0;
public double checkOne {
get { return (payCheckOne / 12); }
set { payCheckOne = value; }
}
现在,假设我想 return 添加每个值:
public void getTotalIncome() {
double totalIncome = (payCheckOne + payCheckTwo + financialAid + allowance + TIPS);
Console.WriteLine("------------ Total Income ------------");
Console.WriteLine(totalIncome);
Console.WriteLine("--------------------------------------");
}
我想说,上面所有的代码块都属于一个Income class。我正在尝试在名为 Expenses 的 class 中使用它们,然后我在主 class.
中调用 getMonthly 方法
这是我的repl.it:
https://repl.it/@KevinAzuara/Testing
您在本地 Income 变量上设置值,但从 Expenses 的私有成员中显示它们。您需要创建一个 public 费用收入,并在提示输入值时将值设置为 public 费用收入。
所以改变
Income inc = new Income();
成为
public Income inc {get; set;}
然后在 handleOption:
exp.inc = inc;
exp.getMontlyExpenses();
问题是您从错误的收入中获取了值(您没有为其设置值)。我建议您传入 income 对象,而不是在 Expenses
class 中进行初始化。像这样:
public void getMontlyExpenses(Income inc) {
//...
}
并删除声明
Income inc = new Income();
然后你可以这样称呼它
exp.getMontlyExpenses(inc); // which is the right Income object
这就是我认为你的问题。
所以我正在尝试创建一个程序来读取用户的输入。提交输入后,它需要 return 一些数据,但每个值总是 returns 0。
假设我要求用户输入 5 个输入:
firstPaychek, secondPaycheck, finanancialAid, allowances and tips
.
我还将这些变量创建为 0.0,因为它们都是双精度的。这是 firstPaycheck
的 setter 和 getterprivate double payCheckOne = 0.0;
private double payCheckTwo = 0.0;
private double financialAid = 0.0;
private double allowance = 0.0;
private double TIPS = 0.0;
public double checkOne {
get { return (payCheckOne / 12); }
set { payCheckOne = value; }
}
现在,假设我想 return 添加每个值:
public void getTotalIncome() {
double totalIncome = (payCheckOne + payCheckTwo + financialAid + allowance + TIPS);
Console.WriteLine("------------ Total Income ------------");
Console.WriteLine(totalIncome);
Console.WriteLine("--------------------------------------");
}
我想说,上面所有的代码块都属于一个Income class。我正在尝试在名为 Expenses 的 class 中使用它们,然后我在主 class.
中调用 getMonthly 方法这是我的repl.it: https://repl.it/@KevinAzuara/Testing
您在本地 Income 变量上设置值,但从 Expenses 的私有成员中显示它们。您需要创建一个 public 费用收入,并在提示输入值时将值设置为 public 费用收入。
所以改变
Income inc = new Income();
成为
public Income inc {get; set;}
然后在 handleOption:
exp.inc = inc;
exp.getMontlyExpenses();
问题是您从错误的收入中获取了值(您没有为其设置值)。我建议您传入 income 对象,而不是在 Expenses
class 中进行初始化。像这样:
public void getMontlyExpenses(Income inc) {
//...
}
并删除声明
Income inc = new Income();
然后你可以这样称呼它
exp.getMontlyExpenses(inc); // which is the right Income object
这就是我认为你的问题。