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);
            }
时间: 2024-11-07 02:40:14

List循环添加对象时遇到问题的解决的相关文章

捕获或添加对象时的模式切换

当我们使用对象库添加对象时一旦点击了“Add objects to local”按钮后就只能抓取对象而无法进行其他任何操作,但常常我们会遇到这样的问题:在一个页面上添加对象后需要切换到另一个Web页面添加另一个对象,于是便用到了QTP提供的捕获或添加对象时两种模式的切换功能,该功能使得切换后可以停止对控件的抓取,并还可以对被测对象进行操作.下面介绍下这两种模式及其切换功能. 1 .半操作模式-----CTRL 键                   支持点击 2.全模式操作-----CTRL+A

python列表中添加对象时的注意

最近在用python写代码,用到了对象数组.在c++中我们要使用能够灵活操作的对象数组,一般会用stl的vector类,该类的push_back方法可以将一个对象的拷贝加入到vector对象中,所以当使用[]下标对vector的元素进行修改时,原来的作为push_back参数的那个对象的值并不会改变.python中类似的方法是列表的append方法,但是要注意此时若加入到列表中的是基础数据类型,则是值传递,若是对象,则是引用传递.这种参数的传递方式和java一样.因此,在python中通过列表下

10.$和#的区别 | 11.添加对象时如何把生成的id返回

一. Mybatis中$和#的区别. 1. $: 解析时不会为内容添加”” 他是sql语句的拼接存在sql注入的危害.传入的为表结构时. 2. #: 解析时会为内容添加””,它的sql时采用占位符,防止sql注入. 11.添加对象时如何把生成的id返回   用:keyProperty="id" 1 <!--逆向工程自动生成--> 2 <insert id="insertSelective" parameterType="com.zhiyo

Android开发中解析、创建Bitmap对象时OOM的有效解决方法并附上一些干货

先来点鸡汤: Stay hungry,stay foolish 这句话的的解读:我们必须了解自己的渺小.如果我们不学习,科技发展的速度会让我们五年后被清空.所以,我们必须用初学者谦虚的自觉,饥饿者渴望的求知态度,来拥抱未来的知识. 这几天做的项目中需要从图库选择图片或者拍照生成图片,然后展现在IamgeView控件上.当然,从图库选择图片和拍照选择图片的功能实现起来很简单.直接写上代码: CharSequence[] items = { "拍照", "图库" };

循环往数组里添加对象

我们在ajax传值时,需要参数是 [{"name":"jhon","age":18},{"name":"Alice","age":19}] 这种形式的. 循环往数组中插入对象时需要确保每次都创建一个新的对象,不能重复添加之前的对象 //错误的方法 var  arrs = [ ]; var  obj = { }; var objs = [ ]; for(var i=0;i<5;i++

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。

在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型 的对象时检测到循环引用. 异常信息(部分): System.Web.Services.Protocols.SoapException: 服务器无法处理请求. ---> System.InvalidOperationException: 生成 XML 文档时出错. ---> System.InvalidOperationException: 序列化类型 Web

在mvc返回JSON时出错:序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用 的解决办法

在MVC中返回JSON时出错,序列化类型为“System.Data.Entity.DynamicProxies.Photos....这个会的对象时检测到循环引用. public ActionResult GetSdirsbyFdirid(int id) { // db.Configuration.LazyLoadingEnabled = false; db.Configuration.ProxyCreationEnabled = false; List<Seconddirectory> lis

序列化类型为&quot;xx”的对象时检测到循环引用。

错误: 序列化类型为“System.Data.Entity.DynamicProxies.PClass_F1D9DFE16F480B2B87DBB269E781139A9B4611C923176D35DD120104EDEFC17C”的对象时检测到循环引用. 背景:这是在使用MVC+EF 进行ajax post请求的时候遇到的 原因:EF  Model1和Model2进行了相互引用,就是说这两个在数据中的表有主外键关系的 解决: IList<PClass> pclassLst = PClass

序列化类型为“System.Data.Entity.DynamicProxies...&quot;对象时检测到循环引用

这是因为EF外键引起的序列化问题. 解决方案: context.Configuration.ProxyCreationEnabled = false; 这里我用的是一个基类控制器用于被继承 返回EF实例前加上这段代码就可以了 1 //用于被继承 2 public class BaseController : Controller 3 { 4 public CucuCarEntity db 5 { 6 get 7 { 8 //从当前线程中获取该对象 9 CucuCarEntity db = Cal