List循环添加对象时遇到问题的解决

Posted 半夏半心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List循环添加对象时遇到问题的解决相关的知识,希望对你有一定的参考价值。

1 var temp=new handleData();
2 foreach(var t in data)
3             {
4                 temp.DataValue = t.DataValue;
5                 temp.CreateTime = t.CreateTime;
6                 data1.Add(temp);
7             }

最后的结果是data里面的数据都是一样的

原因:temp是引用类型,所以最后都是最后一次改变的temp的值

解决办法:在循环里每一次都加new一下

 foreach(var t in data)
            {
                temp = new HandleData();
                temp.DataValue = t.DataValue;
                temp.CreateTime = t.CreateTime;
                data1.Add(temp);
            }

 

以上是关于List循环添加对象时遇到问题的解决的主要内容,如果未能解决你的问题,请参考以下文章

list值循环添加对象值重复问题

C#使用while循环将项添加到List [关闭]

dgv添加行遇到过的问题并解决

如何在Sublime Text中添加代码片段

for循环查询,导致最后返回的list都是最后一个对象的问题

往List集合循环add(对象)得到的是重复对象