관리 메뉴

가끔 보자, 하늘.

Hashtable.Enumerator: snapshot out of sync. 본문

개발 이야기/개발 및 서비스

Hashtable.Enumerator: snapshot out of sync.

가온아 2015. 8. 21. 16:21

foreach (DictionaryEntry item in abTable) {

Debug.Log (" key = " + item.Key );

//    value값 정리

abTable.Remove(item.Key);

}


위처럼 사용할 경우 foreach에서 계속 참조하기 있기 때문에, "Hashtable.Enumerator: snapshot out of sync."와 같은 에러가 발생한다.


foreach 문 안에서의 키 삭제는 문제가 될 수 있으니, value값 정리와 리스트에서의 정리 처리는 분리해야 한다. 


일괄 삭제의 경우 아래와 같이..


foreach (DictionaryEntry item in abTable) {

Debug.Log (" key = " + item.Key );

//    value값 정리

}

   abTable.Clear();


필요한 값만 정리한다면.. 삭제할 키 리스트르를 중심으로 해당 값만 Remove 처리할 것!

반응형