2015.08.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 처리할 것!

저작자 표시 비영리 동일 조건 변경 허락
신고


티스토리 툴바