0

我正在silverlight中制作一个应用程序。在该应用程序中,我使用二维线阵列作为

Line[][] Ecg=new Line[4][];

在应用程序的后面部分我使用代码作为

Line line=new Line();
line=Ecg[i][j];
line.Y1=line.Y1 + 100;
line.Y2=line.Y2 + 100;
//cod for drawing of line

上面我的问题是,每当我增加对象线的 Y1 和 Y2 的值时,它都会增加 Ecg 数组中的值。我没有得到什么问题。提前致谢。

4

1 回答 1

0

您正在创建一个新的 new Line() 对象,然后将其与第二行一起丢弃:

Line line=new Line();
line =...

然后,您将从数组中分配对 Line() 对象的引用:

line=Ecg[i][j]

如果您随后更改该 Line 对象的属性,则它与数组中的对象相同。

您可能打算改为从数组中的对象复制值?:

Line line=new Line()
    {
        X1= Ecg[i][j].X1, 
        X2= Ecg[i][j].X2, = Ecg[i][j].Y1, 
        Y2= Ecg[i][j].Y2 
    });
line.Y1=line.Y1 + 100;
line.Y2=line.Y2 + 100;

这一切似乎有点奇怪。你想要得到的最终结果是什么?

于 2012-05-10T15:16:47.453 回答