public class ABC
{
public int x;
public int y;
}
ABC _prevABC;
ABC abc;
public void A()
{
_prevABC = new ABC();
_prevABC = abc;
abc.x = 10;
}
public void B()
{
abc = _prevABC;
}
在上面的方法中,我调用了A
然后B
,即使然后abc.x
值为10,我在A中更新了。
所以,即使我创建了ABC
的新对象,并使用=
指定了它只是传递引用。
如何分配传递参考?
答案 0 :(得分:0)
_prevABC = abc
行让你有问题,你将abc的引用分配给_prevABC。
如果你的类实际上只包含一些值,例如你给出的可以使用struct,因为它分配值而不是引用。
如果你想上课,那么你可以这样做:
_prevABC = new ABC();
_prevABC.x = abc.x;