CODEDRAGON ㆍDevelopment/C#, Xamarin
객체 복사하기
객체를 복사하는 방법에는 얕은 복사와 깊은 복사가 있습니다.
얕은 복사
static void Main(string[] args) { //참조값만 복사 MyClass source = new MyClass();
//객체의 얕은 복수 MyClass target = source; } |
깊은 복사
static void Main(string[] args) { //원본 객체와 별도의 객체를 할당 MyClass source = new MyClass();
//객체의 깊은 복수 MyClass target = source.DeepCopy(); } |
class MyClass { public int member_filed1; public int member_filed2;
//깊은 복사를 수행하는 코드를 직접 작성 public MyClass DeepCopy() { MyClass deepCopyClass = new MyClass(); deepCopyClass.member_filed1 = this.member_filed1; deepCopyClass.member_filed2 = this.member_filed2;
return deepCopyClass; } } |
얕은 복사 vs 깊은 복사
얕은 복사 (Shallow Copy) |
· 참조값만 복사 · 동일한 객체를 가리킴 |
깊은 복사 (Deep Copy) |
· 객체 복사 · 원본 객체와 별도의 객체를 할당(서로 다른 객체를 가리킴) |
객체 생성 |
|
얕은 복사 (Shallow Copy) |
|
깊은 복사 (Deep Copy) |
|
'Development > C#, Xamarin' 카테고리의 다른 글
C# Tips (0) | 2017.08.18 |
---|---|
C# News Aggregator (0) | 2017.08.11 |
가변길이 매개변수 - 메소드 정의, 메소드 호출 (0) | 2017.04.12 |
문자 데이터(char), 문자열(string) (0) | 2017.04.03 |
.NET skills mobile and create outstanding Android, iOS, and Windows apps - NET 기술을 사용하여 크로스 플랫폼 앱을 빌드하는 방법에 대한 무료 E-Book (0) | 2017.03.28 |