• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

InvalidOperationException 에러에 대해 궁금한점

24.06.30 04:47 작성 24.06.30 04:47 수정 조회수 37

0

영상을 보고 난 후 이런 툴을 제 프로젝트에 적용시켜 혼자 만들어 보고 있었는데

image.pngimage.png

이렇게 사용시에 foreach 문에서 InvalidOperationException이 발생 하였습니다. (foreach를 도는 중에는 원소 값을 건드리면 안되어 발생하는 에러)

영상 23분에 보면은 x버튼을 눌렀을 때 database에서 원소 값을 remove 시키는데 이 부분에선 발생하지 않던데 이건 무슨 차이 때문에 발생하지 않는건가요?

답변 1

답변을 작성해보세요.

0

수강해주셔서 감사합니다.

foreach문에서 Collection이 수정되자마자 해당 Error가 발생하는 것은 아니구요, 이번 index 작업이 끝나고 다음 index 조건 검사를 할 때 발생하게 됩니다. 그래서 Collection을 수정하고 이번 index 작업이 끝나기 전에 break로 foreach문을 빠져나가면 Erorr가 발생하지 않습니다.

강의 SkillSystemWindow Script를 보면 256번 줄에서
database.Remove(data);
로 data를 지운 뒤,

바로 아래 272번 줄에서
// data가 삭제되었다면 즉시 Database 목록을 그리는걸 멈추고 빠져나옴
if (data == null)
break;

data가 null이면 break로 빠져나갑니다.

감사합니다.

BiN_님의 프로필

BiN_

질문자

2024.06.30

아 그래서 에러가 발생혔던거군요 감사합니다!

채널톡 아이콘