오류 해결
[유니티 오류] CS1612: Cannot modify the return value of 'List<>.this[int]' because it is not variable
fortissimo
2024. 2. 20. 03:46
C#에서 struct로 되어있는 List를 수정하려 할 때 발생하는 문제.
리스트의 원소를 참조할 때에는 원소의 그 값 자체가 아니라 복사된 값을 가져오기 때문에 발생한다.
해결 방법
1. List를 배열로 변경한다. 배열은 원소의 값 자체를 참조할 수 있다.
2. 구조체 대신 클래스를 사용한다.
3. 원하는 데이터를 가진 구조체 인스턴스를 생성 후 수정을 원하는 구조체를 재할당해준다.
참고: https://stackoverflow.com/questions/414981/directly-modifying-listt-elements