zoukankan      html  css  js  c++  java
  • C# for循环或者foreach往List中添加对象的时候前面的数据总被最后加入的覆盖

       昨天我旁边小姐姐遇到一个问题,就是在执行for循环往list添加数据的时候,前面的数据信息总是被后面的数据信息所覆盖。

          

       这样编写就会造成这样的数据效果:(所有的数据都会被覆盖)

       

        问题原因:对于List.Add(),如果T是基本类型(值),则添加的为值;若T为引用类型(对象),则添加的为引用。(即值类型、引用类型的区别和原理) 
    所以,循环添加时,添加的都是同一个对象引用,对象的成员值改变,List中所有对象的值就改变了。

        解决方案:

        方法一:每次在改变值之前重新new一下对象。

        

  • 相关阅读:
    第06组Alpha冲刺(4/6)
    第06组Alpha冲刺(3/6)
    第06组Alpha冲刺(2/6)
    第06组 Alpha冲刺 (1/6)
    08-js函数
    07-数组
    06-js分支
    05-js运算符
    04-js变量
    03-css3D转换
  • 原文地址:https://www.cnblogs.com/pukua/p/8889418.html
Copyright © 2011-2022 走看看