日期:2014-05-18  浏览次数:21171 次

===========C#.List完全复制一个新的.一模一样的副本.
我有一个
List<tb1> c1
然后我想复制出一个c1的副本.
我用
List<tb1> c2=new List<tb1>(c1); 
不行.c2变了c1也跟着变.


List<tb1> c2=new List<tb1>();
  foreach (var item in c1)
  {
  c2.Add(item);
  }
 也不行.c2变了c1也跟着变.

求高手指点下.复制出一个与c1完全一样又完全不影响c1的副本.谢谢.
 

------解决方案--------------------
序列化后再拿出来。
------解决方案--------------------
我之前也遇到过。。只不过我用的是笨方法,把List里面的项重新new一遍。。
------解决方案--------------------
了解一下什么叫克隆

ICloneable

或者用值类型,而不是引用类型