이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 18920|회답: 0

[출처] C# 객체의 얕은 복제 복제

[링크 복사]
게시됨 2016. 7. 1. 오전 10:52:47 | | | |


클론은 얕은 복사본과 깊은 복사본으로 나뉩니다

두 가지 차이점: 참조 타입 멤버가 있을 때, 얕은 복사본은 멤버의 참조를 복사하고, 딥 복사본은 멤버 객체를 복사합니다.

객체의 복사 기능을 구현하는 방법:

== ICloneable의 인터페이스를 계승하여 Clone 메서드를 구현합니다

== ICloneable.Clone 자체는 Deep과 Shallow를 구분하지 않습니다. MemberwiseClone을 Clone에서 호출해 ShallowClone을 구현하거나, 직접 DeepClone을 구현할 수 있습니다. 하지만 마이크로소프트의 권고에 따르면, ICloneable을 구현할 때 DeepClone을 구현할 준비가 되어 있습니다.
== ICloneable.Clone이 객체 유형을 반환합니다
== MemberwiseClone의 복제 원리는 값 타입이 비트 단위로 복사되고, 참조 타입이 객체의 참조를 복사하는 것입니다. 여기서 주목할 점은 String 타입인데, 참조 타입이긴 하지만 여기서는 값 타입과 같고 클론에서는 값 타입으로 취급됩니다.









이전의:동일한 식별자 값을 가진 다른 객체가 이미 ...
다음:mvc는 게시물의 JSON XML 데이터를 가져옵니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com