我想知道當我們創建一個對象「a」時,會發生什麼,然後創建一個引用「b」,然後我們創建一個新的對象「a 「,56會發生什麼?我該如何理解,「一個」失去其參考56創建一個新的參考20.使「b」的參考的唯一持有人56.創建一個淺拷貝,然後創建一個新對象confused(c#)
class SingleDigit
{
public int Digit { get; set; }
public SingleDigit(int b)
{
Digit = b;
}
}
SingleDigit a = new SingleDigit(56); // creat new object with int 56
SingleDigit b = a; // make a reference to a
b.Digit -= 20; // both a and b's digit is subtracted
a = new SingleDigit(20); // What happens here ? Does a lose its reference to 56 ?
所以,你的主要問題是,爲什麼B現在是36和20是一種新的存儲位置? – z3nth10n
運行此代碼後,'a.Digit'爲'20','b.Digit'爲'36','a'和'b'指向單獨的'SingleDigit'實例。如果您對此感到困惑,我建議您只是在LINQPad上試用它們。 –
你可以在這裏看到這個:http://rextester.com/PAFTC79188 – z3nth10n