A-Dyu의 개발 일기장

[C#] List 깊은 복사 본문

C#/C# 문법

[C#] List 깊은 복사

ADyu 2024. 7. 23. 19:54

리스트를 복사할 때,단순히 =연산자를 사용하면 복사되는게 아닌 참조가 되어 얕은 복사가 된다.

List<string> list = new List<string>();
List<string> copyTo = list;//list를 수정하면 같은 객체를 참조하기 때문에 같이 값이 바뀐다.

 

그럴 땐,  ToList메서드를 사용하면 된다.

List<string> list = new List<string>();
List<string> copyTo = list.ToList();

 

만약 리스트가 아닌 배열로 바꾸고 싶다면, ToArray메서드를 사용하면 된다.

List<string> list = new List<string>();
string[] copyTo = list.ToArray();