问题原因:
对于List.Add(),如果添加的是基本类型(值),则添加的为值;若添加为引用类型(对象),则添加的为引用的地址。
所以,循环添加时,添加的都是同一个对象引用,对象的成员值改变,List中所有对象的值就改变了。
解决方法:
每次在改变值之前重新new一下对象,从而改变存储的引用地址,这样就不会发生元素覆盖。
问题原因:
对于List.Add(),如果添加的是基本类型(值),则添加的为值;若添加为引用类型(对象),则添加的为引用的地址。
所以,循环添加时,添加的都是同一个对象引用,对象的成员值改变,List中所有对象的值就改变了。
解决方法:
每次在改变值之前重新new一下对象,从而改变存储的引用地址,这样就不会发生元素覆盖。