C# 딥 카피 방법
2104 단어 딥 카피
먼저 아래 깊이 및 얕은 복제의 정의를 살펴보십시오.
얕은 복사(그림자 복제): 대상의 기본 유형만 복제하고 대상 유형은 원래의 인용에 속한다.깊이 복제(깊이 복제): 복제된 대상의 기본 클래스와 원 대상의 대상을 복제하지 않습니다.완전히 새로운 대상이 만들어진 거야.C#에서 전체 복제의 기본 유형을 복제합니다.인용 형식에 대해서는 인용 바늘만 복사합니다.그래서 이를 깊이 있게 복사하는 것도 번거롭다. ICloneable 인터페이스의 Clone을 실현하는 방법이다.물론 다른 빠른 방법도 있습니다. 다음은 인터넷에서 찾은 코드입니다.하나의 대상을 binary stream으로 서열화한 다음에 그것을 새로운 대상으로 반서열화하면 깊은 복사를 실현할 수 있다.코드는 다음과 같습니다.
1 public static T CloneOf<T>(T serializableObject)
2 {
3 object objCopy = null;
4
5 MemoryStream stream = new MemoryStream();
6 BinaryFormatter binFormatter = new BinaryFormatter();
7 binFormatter.Serialize(stream, serializableObject);
8 stream.Position = 0;
9 objCopy = (T) binFormatter.Deserialize(stream);
10 stream.Close();
11 return (T) objCopy;
12
13 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바의 복사 메커니즘을 깊이 이해하다만약 우리new가 새로운 대상을 낸다면, 하나의 성명으로 인용하고, 그 다음에 다른 성명으로 이전 성명을 인용한다면, 마지막 결과는 이 두 성명의 변수는 같은 대상을 가리키며, 한 곳은 모두 수정될 것이다.만약 우리...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.