将变量分配给列表 - c#

时间:2015-05-05 15:48:37

标签: c# visual-studio-2012

我正在制定一项估算能源使用情况的计划。我有一个设备列表,并为他们创建了一个类:

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不存在'

有什么想法吗?

3 个答案:

答案 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)

或重载你的构造函数。