我正在制定一项估算能源使用情况的计划。我有一个设备列表,并为他们创建了一个类:
List<Appliances> appliancesList = new List<Appliances>
{
new Appliances("Toaster",6000, durationInput),
new Appliances("Washing Machine",7000,durationInput),
};
class Appliances
{
public String name;
public int energy_rating;
public int duration;
public Appliances(String nameInput, int energy_ratingInput, int durationInput)
{
name = nameInput;
energy_rating = energy_ratingInput;
duration = durationInput;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
durationInput = int.Parse(textBox1.Text);
}
正如您在课堂上看到的那样,我尝试创建一个变量,允许用户输入持续时间,然后将该值分配给列表中的相应设备。我在列表部分的'durationInput'下面出了一个红线,错误显示'当前上下文中名称durationInput不存在'
有什么想法吗?
答案 0 :(得分:2)
您应该参考持续时间。 Durationinput是您的参数。您应该使用durationinput进行的唯一操作是将变量持续时间设置为durationinput。其他一切都应该是参考持续时间。
答案 1 :(得分:0)
变化
durationInput = int.Parse(textBox1.Text);
至
this.duration = int.Parse(textBox1.Text);
答案 2 :(得分:0)
您的构造函数接受3个参数。
public Appliances(String nameInput, int energy_ratingInput, int durationInput)
在list语句中,只传递两个变量。
new Appliances("Washing Machine",durationInput)
您需要传递三个变量
new Appliances("Washing Machine",0,durationInput)
或重载你的构造函数。