2012-07-05 1 views
2

얕은 사본과 깊은 사본의 차이점에 대한 일반적인 지루한 차이점을 넘어서,C#의 얕은 사본 실제 생활 사용법?

나는 얕은 사본을 사용하는 실제 생활 장면이 무엇일까 궁금했습니다.

나는 어떤 사용을 참조 해달라고 (그리고 난 그것에 대해 잘못이어야 함) 실제 사용의

+0

얕은 복사는 value-type 의미와 유사합니다. – leppie

답변

3

한 예는 원래 순서의 기록을 유지하면서 개체의 정렬 된 목록을 제공하는 것입니다

감사합니다. 얕은 사본을 작성하면 여러 가지 방법으로 정렬 된 동일한 목록을 사용자에게 제공 할 수 있지만 모두 원래의 객체로 다시 링크됩니다.

+0

그러나 새 목록을 정렬하면 원래 목록도 정렬됩니다. 동일한 요소 인 –

+0

은 요소에 대한 참조를 정렬합니다. 내가 말하는 요소는 값 유형이 아닙니다! – zeFrenchy

+0

구조체가 아닌 모든 참조 유형을 선택하고 다음과 같이 시도하십시오. 'List original = new List (); original.Add (새 Point3D (0, 1, 2)); original.Add (새 Point3D (3, 4, 5)); original.Add (새 Point3D (6, 7, 8)); original.Add (새 Point3D (9, 0, 1)); Point3D [] arr_original = original.ToArray(); Point3D [] arr_copy = (Point3D []) arr_original.Clone(); // 얕은 복사 Array.Reverse (arr_copy); if (arr_original [0]! = arr_copy [0]) Console.WriteLine ("내가 이겼어!"); – zeFrenchy