Inflearn Community Q&A
InvalidOperationException 에러에 대해 궁금한점
Written on
·
178
·
Edited
0
영상을 보고 난 후 이런 툴을 제 프로젝트에 적용시켜 혼자 만들어 보고 있었는데


이렇게 사용시에 foreach 문에서 InvalidOperationException이 발생 하였습니다. (foreach를 도는 중에는 원소 값을 건드리면 안되어 발생하는 에러)
영상 23분에 보면은 x버튼을 눌렀을 때 database에서 원소 값을 remove 시키는데 이 부분에선 발생하지 않던데 이건 무슨 차이 때문에 발생하지 않는건가요?
unitymodules
Answer 1
0
Developer G
Instructor
수강해주셔서 감사합니다.
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로 빠져나갑니다.
감사합니다.






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