我正在尝试将动物添加到我的动物列表中,但最后添加的动物的值将是列表中的所有动物。
List<Animal> animals = new List<Animal>();
public bool AddAnimal(Animal animal)
{
animals.Add(animal);
return true;
}
Animal animal = new Animal();
private void btnAddAnimal_Click(object sender, RoutedEventArgs e)
{
animal.AnimalSize = Size.large;
animal.Carnivore = true;
AddAnimal(animal);
}
这是列表: 大小食肉动物 - 大真
private void btnAddAnimal_Click(object sender, RoutedEventArgs e)
{
animal.AnimalSize = Size.large;
animal.Carnivore = false;
AddAnimal(animal);
}
这是添加草食动物后我的动物列表发生的情况:
- 大小食肉动物
- 大假
- 大假
最佳答案
好吧,您实际上并没有添加新的 Animal,您只是在修改已有的 Animal。如果你想添加一个新的动物,你必须创建一个新的对象:
private void btnAddAnimal_Click(object sender, RoutedEventArgs e)
{
Animal animal = new Animal();
animal.AnimalSize = Size.large;
animal.Carnivore = true;
AddAnimal(animal);
}
关于c# - 将对象添加到列表,更改所有其他列表对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46112020/