C#对象对另一个对象的引用#x27;s属性
假设一个对象的属性在其生命周期内指向不同的对象C#对象对另一个对象的引用#x27;s属性,c#,.net,equality,C#,.net,Equality,假设一个对象的属性在其生命周期内指向不同的对象 MyClassInstance.MyProperty = MyOtherObject1; 在稍后的应用程序中,我得到以下信息: MyClassInstance.MyProperty = MyOtherObject2; 等等。我的理解是MyOtherObject1和MyOtherObject2将指向内存中相同的地址,这是我想要避免的。如何确保MyOtherObject1和MyotherObject2是两个完全不同的实体?如果MyOtherObje
MyClassInstance.MyProperty = MyOtherObject1;
在稍后的应用程序中,我得到以下信息:
MyClassInstance.MyProperty = MyOtherObject2;
等等。我的理解是MyOtherObject1和MyOtherObject2将指向内存中相同的地址,这是我想要避免的。如何确保MyOtherObject1和MyotherObject2是两个完全不同的实体?如果
MyOtherObject1
和MyotherObject2
是不同的对象,使MyClassInstance.MyProperty
等于它们,将不会导致这两个实体相同
MyClassInstance.MyProperty = MyOtherObject1;
这意味着对MyClassInstance.MyProperty的任何更改都将更改MyOtherObject1,因为它们实际上指向相同的内存空间
MyClassInstance.MyProperty = MyOtherObject2;
这意味着
MyProperty
现在指向与MyOtherObject2
相同的内存空间。对MyProperty
的更改将使MyOtherProperty1
不受影响。如果MyOtherObject1
和MyOtherObject2
是不同的对象,使MyClassInstance.MyProperty
等于它们,则不会导致这两个对象相同
MyClassInstance.MyProperty = MyOtherObject1;
这意味着对MyClassInstance.MyProperty的任何更改都将更改MyOtherObject1,因为它们实际上指向相同的内存空间
MyClassInstance.MyProperty = MyOtherObject2;
这意味着
MyProperty
现在指向与MyOtherObject2
相同的内存空间。对MyProperty
的更改将使MyOtherProperty1
不受影响。我不明白。。。将属性设置为MyOtherObject2
不会将其与MyOtherObject1
链接在一起。或者你是什么意思?如果它们是类,那么它们将只指向相同的内存地址,而您是这样做的:MyOtherObject2=MyOtherObject1代码>。我认为你的“问题”是虚构的。我不明白。。。将属性设置为MyOtherObject2
不会将其与MyOtherObject1
链接在一起。或者你是什么意思?如果它们是类,那么它们将只指向相同的内存地址,而您是这样做的:MyOtherObject2=MyOtherObject1代码>。我认为你这里的“问题”是虚构的。