的属性我有这行代码:改变A对象的属性影响的改变B对象
SomeClass a = new SomeClass();
SomeClass b = a;
a.price = 15;
b.price = 20;
Console.WriteLine(a.price); // output 20
首先创建对象A,然后对象b。为了对象b我分配了对象a。当我将财产价格初始化为这些对象时,您可以看到对象a的价格为15,而b的价格为20.但是,当您将对象b的价格指定为20时,同时时间的变化将会影响对象a的价格。 为什么?
我的意思是在内存中发生什么事情导致这种情况?
对象B是一个对象的引用,指针,如果你知道的指针,因此,如果A或B换另一体现了变化 – MEYWD
@MEYWD:'B'不是一个对象都没有。这是一个*变量*。 “b”的值与“a”的值相同 - 都是对同一对象的引用。区分变量,参考和对象的概念非常重要。改变'a'的值(以引用不同的对象)将不会对'b'的值做任何事情。这只是对对象的一种改变,它们都指代了这一点。 –
@JonSkeet你是对的,我只是想以简单的形式解释它,而我的意思是变量。 – MEYWD