我试图将动物添加到我的动物列表中,但最后添加的动物的值将是列表中的所有动物。将对象添加到列表中,更改所有其他列表对象
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);
}
这是在我加入草食动物对待我的动物名单发生了:
- 大小食肉
- 大虚假
- 大假
C#对不起,我会添加它马上 – daffy
'animal'总是指向相同的内存地址 – izsl