List <T> .Add不添加到列表中

Chr*_*rez 0 c# winforms

好吧问题是我对列表的计数没有上升所以它没有将对象添加到列表中.

List<Employee> employees = new List<Employee>();

private void addEmployee_Click(object sender, EventArgs e)
{
    List<Employee> employees = new List<Employee>();

    employees.Add(new Employee()
    {
        egn = egnInput.Text,
        names = namesInput.Text,
        proffesion = professionList.Text,
        office = officeList.Text,
        salary = Double.Parse(salaryInput.Text),
        joinDate = DateTime.Parse(joinDatePicker.Text)
    });

    MessageBox.Show("????????? ?? ??????? ???????!");

    egnInput.Clear();
    namesInput.Clear();
    professionList.Text = "";
    officeList.Text = "";
    salaryInput.Clear();
    joinDatePicker.Text = "";

}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Sal*_*ari 7

因为你已经定义了ListaddEmployee_Click事件,所以每次点击ButtonList再次产生.您应该在addEmployee_Click事件中删除以下行,因为您已经全局声明了它:

List<Employee> employees = new List<Employee>();
Run Code Online (Sandbox Code Playgroud)

  • 正确!他有`List <Employee> employees = new List <Employee>();`在类的外部定义(非静态和私有)__ field__.并且他有`List <Employee> employees = new List <Employee>();`声明__local变量___的方法内部.所以有两个叫做"雇员"的东西.在这种情况下,只说,`employees.Add(...)`导致局部变量.要访问该字段(类级变量),在这种情况下必须说"this.employees.Add(...)`".当然,一旦你摆脱了局部变量,你就不必说"这个."因为不存在歧义. (4认同)