0
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.更新分配对象数据到另一个对象与出通过参考在c#
因此,似乎即使我创建了ABC
的新对象,并用=
分配了它刚传递的参考。
如何分配输出传递引用?
你需要做一个副本。基本上它看起来像你想使用一个结构,而不是一个类。 – juharr
或者只是该类的深层复制/克隆。 – HimBromBeere
首先,你创建一个新的ABC和**,然后把它扔在下一行**,**用'abc'引用替换**。然后,所有事情都会如你所期望的那样:你仔细地将'_prevABC'和'abc'指向同一个对象。所以他们这样做。如果你想要一份副本,请复制一份。你在这里做的任何事都不做复制。您需要了解C#中引用和值类型之间的区别。 –