1

这显然是一个菜鸟问题,但在 XNA 中是......

Vector2 a;
Vector2 b;

a = b;

在任何情况下都与:

a.X = b.X;
a.Y = b.Y;

?

4

1 回答 1

3

Vector2是 a struct(这是一个值类型)。

所以,如果你这样做a = b

这意味着它将内存复制ba. 它相当于:

a.X = b.X;
a.Y = b.Y;

所以,如果你这样做:

b = new Vector2(1, 2);
a = b;
b.X = 5;
Console.WriteLine("a.X = {0}, a.Y = {1}", a);
Console.WriteLine("b.X = {0}, b.Y = {1}", b);

结果是:

a.X = 1, a.Y = 2
b.X = 5, b.Y = 2
于 2013-07-22T23:57:01.607 回答