본문 바로가기
내가겪은에러들

[유니티] Dictionary 삭제시 에러.

by 정보모아모아 2016. 3. 14.



[Code]


Dictionary<int, Path>.Enumerator UpdateEnumerator = m_dicPath.GetEnumerator();


        List<Path> listdelete = new List<Path>();

        

        while (UpdateEnumerator.MoveNext())

        {

            if (UpdateEnumerator.Current.Value.PATH_STATE == ePathState.PATH_END)

            {

                listdelete.Add(UpdateEnumerator.Current.Value);

                m_dicPath.Remove(UpdateEnumerator.Current.Value.INDEX);

            }

        }





[수정]


        Dictionary<int, Path>.Enumerator UpdateEnumerator = m_dicPath.GetEnumerator();


        //Delete

        List<Path> listdelete = new List<Path>();

        

        while (UpdateEnumerator.MoveNext())

        {

            if (UpdateEnumerator.Current.Value.PATH_STATE == ePathState.PATH_END)

            {

                listdelete.Add(UpdateEnumerator.Current.Value);

               // m_dicPath.Remove(UpdateEnumerator.Current.Value.INDEX);

            }

        }



        //Delete

        for (int i = 0; i < listdelete.Count; ++i)

        {

            m_dicPath.Remove(listdelete[i].INDEX);

            listdelete[i].DestroyPath();

        }


        listdelete.Clear();


-------------------------------------------------------------------------


참고 - 

http://westwoodforever.blogspot.kr/2013/07/c-invalidoperationexception-out-of-sync.html








InvalidOperationException: out of sync

System.Collections.Generic.Dictionary 2+Enumerator[System.Int32..

'내가겪은에러들' 카테고리의 다른 글

[VR] Error해결  (0) 2016.03.24