无法在Point3DCollection中偏移Point3D

时间:2012-11-06 07:09:20

标签: c# wpf

我试图在Point3DCollection中偏移一个点,但无法将其转换为新位置。虽然我正在做3,3,3的偏移,但是第一个点的文本框显示0,0,0。以下代码有什么问题:

var result = new Point3DCollection(n);

var pt1 = new Point3D(0, 0, 0);
var pt2 = new Point3D(5, 5, 5);

result.Add(pt1);
result.Add(pt2);  
result[0].Offset(3,3,3);
textbox1.Text = result[0].X + "," + result[0].Y + "," + result[0].Z;

1 个答案:

答案 0 :(得分:1)

请参阅此处的“备注”:http://msdn.microsoft.com/en-us/library/system.windows.media.media3d.point3d.offset.aspx

因此result [0]不会为您提供对象的引用,而是一个副本,以便您更改该副本的偏移量而不是集合中的副本。

如果您需要使用集合,一种解决方案是替换集合中的对象,并使用相同索引处的新Point3D对象。