[Unity]/[C#]

[C#] List 값 복사하기(참조하지 않고, 값만 복사하는 방법)

극꼼 2021. 5. 24. 17:09
반응형


List<T>는 앞서 나온 게시물에서 나온 참조 형식입니다.

https://geukggom.tistory.com/44

 

[유니티 C# 기초] #02 : 변수 - 값 형식 / 참조 형식

유니티 기초 글 링크 모음 : geukggom.tistory.com/1 [서론] 안녕하세요, 극꼼이입니다! 1에서 변수의 데이터타입과 형변환을 알아본데에 이어서 변수의 값형식과 참조 형식에 대해 알아보도록 하겠습

geukggom.tistory.com

 

List<int> aList = new List<int>();
List<int> bList = aList;

bList.Add(100);
Debug.Log(aList[0]);  //bList의 변화가 aList에도 똑같이 영향을 줘서 100이 찍힘.

 

원본 리스트에는 영향을 주지 않고, 값만 복사하고 싶을 수 있는데요, 

그럴땐 System.Linq 에 있는 List.ToList() 함수를 사용해줍니다.

 

System.Linq;

Class ForList()
{
    List<int> aList = new List<int>();
    List<int> bList = aList.ToList();

    bList.Add(100);
    Debug.Log(aList.Count);   //aList에는 변화가 없으므로 0이 찍힘.
}
반응형