>백엔드 개발 >C#.Net 튜토리얼 >.Net의 얕은 복사와 깊은 복사에 대한 간략한 토론

.Net의 얕은 복사와 깊은 복사에 대한 간략한 토론

青灯夜游
青灯夜游원래의
2019-01-29 15:28:374155검색

객체 복사는 데이터 객체의 속성을 동일한 데이터 유형의 다른 객체에 복사하는 프로세스입니다. .Net에서는 얕은 복사와 깊은 복사가 개체 간에 데이터를 복사하는 데 사용됩니다. 다음 기사에서는 .Net의 얕은 복사와 깊은 복사에 대해 간략하게 설명하겠습니다. 도움이 되기를 바랍니다.

.Net의 얕은 복사와 깊은 복사에 대한 간략한 토론

얕은 복사란 무엇인가요?

얕은 복사는 새 개체를 만든 다음 현재 개체의 비정적 필드를 새 개체에 복사합니다. 필드가 값 유형인 경우 필드의 비트별 복사가 수행됩니다. 필드가 참조 유형인 경우 고유 참조는 복사되지만 참조된 개체 자체는 복사되지 않으므로 원본과 복제본은 동일한 개체를 참조합니다. [동영상 튜토리얼 추천: ASP.NET Tutorial]

.Net의 얕은 복사와 깊은 복사에 대한 간략한 토론

객체의 얕은 복사본은 인스턴스 변수가 이전 객체와 동일한 새 객체입니다. .Net에서 얕은 복사는 MemberwiseClone() 개체 메서드에 의해 수행됩니다.

값이 있는 객체가 있고 동일한 유형의 다른 변수에 해당 객체의 복사본을 생성하려는 경우 얕은 복사를 사용하면 값 유형에 속하는 모든 속성 값이 복사됩니다. 그러나 참조 유형의 속성이 있는 경우 인스턴스는 복사되지 않고 인스턴스만 참조됩니다.

딥카피란 무엇인가요?

깊은 복사는 새 객체를 생성한 다음 현재 객체의 필드를 새로 생성된 객체에 복사하여 내부 참조 유형의 완전한 복사본을 생성하는 프로세스입니다. 필드가 값 유형인 경우 필드의 비트별 복사가 수행됩니다. 필드가 참조 유형인 경우 참조 개체의 새 복사본이 만들어집니다.

.Net의 얕은 복사와 깊은 복사에 대한 간략한 토론

객체의 전체 복사본은 완전히 새로운 인스턴스 변수를 가진 새로운 객체이며, 이전 객체와 객체를 공유하지 않습니다. Deep Copy를 수행할 때 복제할 클래스를 [Serialized]로 표시해야 합니다.

Deep copy는 직접 참조되는 값 유형 요소와 데이터 자체가 아닌 데이터가 포함된 메모리 위치에 대한 참조가 포함된 참조 유형인 간접 참조 요소를 포함하여 객체의 모든 요소를 ​​복사하는 것을 목표로 합니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 .Net의 얕은 복사와 깊은 복사에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.