2016-06-04 2 views
0

평생 동안 다른 개체를 가리키는 개체의 속성이 있다고 가정 해보십시오.C# 다른 개체의 속성에 대한 개체 참조

MyClassInstance.MyProperty = MyOtherObject2; 

등등 :

MyClassInstance.MyProperty = MyOtherObject1; 

나중에 응용 프로그램에서 나는이 얻을. 나의 이해는 MyOtherObject1과 MyOtherObject2가 메모리의 같은 주소를 가리키고 있기 때문에 피하고 싶다. MyOtherObject1과 MyotherObject2가 완전히 다른 엔티티 2 개임을 어떻게 확인할 수 있습니까?

+0

이해가 안됩니다 ... _Property_를'MyOtherObject2'로 설정하면'MyOtherObject1'과 함께 링크되지 않습니다. 아니면 무슨 뜻이야? 그들은 클래스 일 경우에만 같은 메모리 주소를 가리키고 다음을 수행합니다 : ' MyOtherObject2 = MyOtherObject1;'. –

+1

여기 '문제'는 상상력이라고 생각합니다. –

답변

2

MyOtherObject1MyOtherObject2이 서로 다른 개체 인 경우 MyClassInstance.MyProperty을 같게 만들면이 2는 동일하지 않습니다.

MyClassInstance.MyProperty = MyOtherObject1; 

이것은 효과적으로 동일한 메모리 공간에 포인트로서 MyClassInstance.MyProperty의 변경은, 변경 MyOtherObject1 의미한다.

MyClassInstance.MyProperty = MyOtherObject2; 

이것은 MyProperty 지금 MyOtherObject2 같은 메모리 공간을 가리키는 것을 의미한다. MyProperty으로 변경하면 MyOtherProperty1의 영향을받지 않습니다.