如何使用list??

bshedu 2012-05-12 09:59:10
我创建了两个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 也跟着变了?????求解,是地址相同了么,我没用等号啊
...全文
129 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
caoyang4807742 2012-05-13
  • 打赏
  • 举报
回复
哥们 你搞错了吧! 没变啊 结果是:l2[0].x = 1啊
theillusion 2012-05-13
  • 打赏
  • 举报
回复
难道楼主是来忽悠的?
stonespace 2012-05-13
  • 打赏
  • 举报
回复
应该不会变,
moonwrite 2012-05-12
  • 打赏
  • 举报
回复
从你贴的代码来看
应该是不会变的
threenewbee 2012-05-12
  • 打赏
  • 举报
回复
贴完整的代码。
bshedu 2012-05-12
  • 打赏
  • 举报
回复
谢谢,可是这样很麻烦的啊~~有没有别的办法??我现在全是new的新变量啊,应该不会是地址相同啊
threenewbee 2012-05-12
  • 打赏
  • 举报
回复
对,因为Point3D是引用类型。

将Point3D定义为struct。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧