Programming Tips

C# List 대입 시 유의!

최애뎡 2021. 8. 5. 15:54
728x90
반응형

https://docs.microsoft.com/ko-kr/dotnet/api/system.linq.enumerable.tolist?view=net-5.0 

 

Enumerable.ToList(IEnumerable) 메서드 (System.Linq)

IEnumerable에서 List을 만듭니다.Creates a List from an IEnumerable.

docs.microsoft.com

using System.Linq; -> .ToList() 사용

Unity 작업 중 순간 삽질..

List<int> list_0 = new List<int>() { 1, 2, 3 };
List<int> list_1 = new List<int>() { 1, 2, 3, 4, 5 };

대 충 요렇게 2개의 List가 있다 가정할 때

Debug.Log(list_0.Count); -> 3이 나올거고

for (int i = -1; ++i < list_0.Count;)
	Debug.Log(list_0[i]);
-> 1, 2, 3 이 뜰거고

list_0 = list_1.ToList(); -> List_1의 .ToList() 즉 결과값을 넘겨주면

for (int i = -1; ++i < list_0.Count;)
	Debug.Log(list_0[i]);
-> 1, 2, 3, 4, 5 가 뜰것인데

list_0 = list_1; -> 이렇게 리스트를 넘기면 주소를 넘기기 때문에

list_0.Add(100); -> 이렇게 list_0에 100을 추가하고

for (int i = -1; ++i < list_1.Count;)
	Debug.Log(list_1[i]);
-> list_1을 찍어보면 1, 2, 3, 4, 5, 100이 나오는 무서운 현상

예전에도 이걸로 삽질한 적이 있었는데... 사람이 이래서 메모를 해야 함

반응형