2021.08.09 네이버 블로그에 게시했던 글을 이전해온 게시글입니다.
리스트를 Clear 할 경우와 = new List로 초기화해주는 경우의 차이점에 대해 알아보았다.
우선 테스트용 스크립트를 아래와 같이 짜보았다.
리스트를 처음에는 test1을 넣고,
clear 또는 new List를 한 후
test2를 넣어보았다.
Test1과 Test2의 차이는 하나는 Clear, 하나는 새로 New List를 해준 것 밖에 없다.
결과는 다음과 같다
clear를 한 경우는 둘 다 test2가 들어갔으며,
new List를 한 경우는 test1, test2가 들어갔다.
좀 더 명확하게 보기 위하여 '안녕하세요' 'Hellow World!'로 재테스트 해보았다.
이렇게 되는 원인으로는 C# 도큐먼트에서 찾을 수 있다
https://docs.microsoft.com/ko-kr/dotnet/api/system.collections.generic.list-1.clear?view=net-5.0
List.clear의 경우 다른 개체에 한 참조도 해제되므로, 미리 넣어두었던 test1도 해제되어버리는 것이다.
따라서 후에 넣은 test2가 들어가는 것.
clear가 작업시간이 더 적게 소요되므로 작업시간을 줄이려면 clear로 사용하고
참조를 지우고싶지않거나 값의 재사용이 필요할 경우는 new 를 사용하는것이 좋다
'UNITY' 카테고리의 다른 글
UNITY Animator 애니메이션 콜백함수 만들기 (1) | 2023.11.03 |
---|---|
UNITY 버튼 꾹 누르기 이벤트 (0) | 2023.11.03 |
유니티(UNITY)로그 프로세스 만들기-파일로 추출/게임뷰에 표시 (0) | 2023.11.03 |
UNITY)Mesh Cut 메시 자르기 - 1 (0) | 2023.11.03 |
유니티(UNITY)로 현재 날씨 받아오기 (0) | 2023.11.03 |