读书人

c# 赋值有关

发布时间: 2013-11-12 12:10:37 作者: rapoo

c# 赋值相关


List<String> a = new List<String>();
List<String> b = a;


如上代码,a和b指向的是同一个地址,对b进行操作时a也会改变。

现在想实现的就是赋值之后,对b的操作不会改变a 的值,也就是a和b指向的是不同的地址。

求解,,谢谢了
[解决办法]
List<string> b = new List<string>(a);

[解决办法]
List<String> a = new List<String>();
var arr = new string[a.Count];
a.CopyTo(arr);
List<string> b = arr.ToList();

[解决办法]
一个个赋值不行吗?
            List<String> lsta = new List<String>();
List<String> lstb = new List<String>();
lsta.ForEach(x => lstb.Add(x));

[解决办法]
x =>listb.Add(new string(x));
[解决办法]
你既然要实现b的操作不会改变a 的值,也就是a和b指向的是不同的地址,那你为何要把a和b关联起来,分开不就行了么

读书人网 >C#

热点推荐