Employee emp = new Employee()和emp = new Employee()

List<Employee> employees = new List<Employee>();
Employee emp = new Employee();
emp.FirstName = "Jack";
emp.LastName = "Ma";
emp.Salary = 20000;
employees.Add(emp);

emp.FirstName = "Tony";
emp.LastName = "Ma";
emp.Salary = 12000;
employees.Add(emp);

在这里往employees中插入多个Employee对象。如果在插入后面的emp时,使用同一个对象emp,会使得插入到employees里的对象全部都具有相同的值,也就是后插入的对象值会覆盖之前的对象值。

解决方法是,在使用同名对象前,先创建一个匿名对象,然后将该匿名对象赋值给emp。使用emp = new Employee()

List<Employee> employees = new List<Employee>();
Employee emp = new Employee();
emp.FirstName = "Jack";
emp.LastName = "Ma";
emp.Salary = 20000;
employees.Add(emp);

emp = new Employee();
emp.FirstName = "Tony";
emp.LastName = "Ma";
emp.Salary = 12000;
employees.Add(emp);
原文地址:https://www.cnblogs.com/brown-birds/p/8073193.html