[Unity, 에러] Collection was modified; enumeration operation may not execute.

baebaeran·2024년 12월 25일
0

Unity_메모장

목록 보기
9/14

코드를 다 작성하고는 플레이를 했더니 이런 코드가 나왔다.

Collection was modified; enumeration operation may not execute.

컬렉션이 수정되었습니다. 열거 작업이 실행되지 않을 수 있습니다.

원인은 foreach로 작성된 내 코드이다.

리스트가 Remove()에 의해 수정이 되면 열거자가 무효화가 되기 때문에 저런 에러가 나온다고 한다. (작성자는 이 말을 아직 이해를 못했다.)

제일 간단한 해결방안은 foreach문을 for문으로 바꾸는 것이다.

두가지 방법이 있다

첫 번째는 직접 for문으로 바꾸는 것

두 번째로는 Visual Studio가 지원하는 변환 기능을 사용하는 것이다.

함수에서 foreach를 우클릭하여 아래 사진의 메뉴를 띄운다.

빠른 작업 및 리펙터링 → 'for'로 변환
을 하면은

이렇게 바뀌고 적용을 누르기 전까지는 i를 자기 입맛대로 변경할 수 있다.

profile
보고-배우는-것-들을-기록합니다

0개의 댓글