【错误解决】 list 变更一个另一个也跟着变更的问题

list 变更一个另一个也跟着变更的问题

问题描述

使用new list等于一个list变量,更改任何一个list集合另一个list也会随着改变。
不止发生在js ,c#等语言中也存在这种情况。发生这种状况的原因是由于数据的copy问题。大多数都是指针指向了原数组的地址,所以代码表面看是俩,其实动的是一个。

解决

js ,c#可以通过类型转换来解决

//javascript
var list = [obj1,obj2,obj3,obj4];
var list2 = JSON.Parse(JSON.Stringify(list));

将对象转字符串再转Json对象

//c#
var list = new List(obj);
list.Add(obj1);
list.Add(obj2);
list.Add(obj3);
list.Add(obj4);

var list2 = new List<obj>(list.ToArray());

其他解决方式自行检索。

猜你喜欢

转载自blog.csdn.net/weixin_43839461/article/details/105368636