假设我的对象的属性在其生命周期内指向不同的对象。
MyClassInstance.MyProperty = MyOtherObject1;
稍后在应用程序中我得到了这个:
MyClassInstance.MyProperty = MyOtherObject2;
等等。我的理解是MyOtherObject1和MyOtherObject2将指向内存中的相同地址,我想避免。如何确保MyOtherObject1和MyotherObject2是完全不同的实体?
答案 0 :(得分:2)
如果MyOtherObject1
和MyOtherObject2
是不同的对象,使MyClassInstance.MyProperty
等于它们,则不会导致这两个对象相同。
MyClassInstance.MyProperty = MyOtherObject1;
这意味着对MyClassInstance.MyProperty
的任何更改都会更改MyOtherObject1
,因为它们有效地指向相同的内存空间。
MyClassInstance.MyProperty = MyOtherObject2;
这意味着MyProperty
现在指向与MyOtherObject2
相同的内存空间。对MyProperty
的更改将使MyOtherProperty1
不受影响。