本文主要是介绍Unity报错:Collection was modified; enumeration operation may not execute,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//全局特效节点 比如爆屏效果 在切换界面的时候销毁List<GameObject> mObjectList = new List<GameObject>();public void AddGameObject(GameObject go){mObjectList.Add(go);}public void RemoveGameObject(GameObject go){mObjectList.Remove(go);}public void ClearGameObjectList(){foreach(GameObject go in mObjectList){UnityEngine.GameObject.DestroyImmediate(go);}mObjectList.Clear();}
运行该程序时报上面的错误,检查代码发现是使用Foreach体内运用了对Collection的Remove方法(或者Add方法也会),虽然不太明白详细的原因,但是可以foreach改成for就可以了。
这篇关于Unity报错:Collection was modified; enumeration operation may not execute的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!