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

如何使用list??
我创建了两个list
但是改变其中一个,另外个也跟着改变??
   
  List<Point3D> l1 = new List<Point3D>();
  List<Point3D> l2 = new List<Point3D>();
   
  Point3D tempArr3 ,tempArr4;
   
  tempArr3 = new Point3D(1,1,1); 

  l1.Add(tempArr3);
   
  tempArr4 = new Point3D(1,1,1); 

  l2.Add(tempArr4);

  现在 l1[0].x=2;

发现l2[0].x 也跟着变了?????求解,是地址相同了么,我没用等号啊

------解决方案--------------------
对,因为Point3D是引用类型。

将Point3D定义为struct。
------解决方案--------------------
贴完整的代码。
------解决方案--------------------
从你贴的代码来看
应该是不会变的
------解决方案--------------------
哥们 你搞错了吧! 没变啊 结果是:l2[0].x = 1啊