問題是:在此代碼的末尾,ptArray [0] .X的值是3.33還是1.11?更改數組返回的類的值[]運算符
謝謝。
class MyPoint
{
public double X, Y;
public MyPoint(double x, double y)
{
X = x;
Y = y;
}
}
MyPoint[] ptArray = new MyPoint[2];
ptArray[0] = new MyPoint(1.11, 2.22);
MyPoint first = ptArray[0];
// Am I changing ptArray[0] here or not?
first.X = 3.33;
first.Y = 4.44;
你有一個C#編譯器,對不對? – harpo 2010-05-06 15:24:45
我認爲這是某人的功課。 – 2010-05-06 15:32:17
你可能會想,這不是微不足道的,夥計們。想想看。 'first'顯然指向ptArray [0]的內存中的同一個地址,但是當你改變first.X和Y時,你不會改變ptArray [0]。 – abenci 2010-05-06 20:13:31