unity 删除列表中多个元素(物体) 并在列表中移除

今天遇到一个问题,
我如果同时删除列表中的两个物体时并在列表中清除时,发现只会删除一个物体,
原因
假如我删除列表前两个元素,
先删除第一个,这个时候在列表中清除掉
然后我所需要删除的第二个物体,这时已经移动到了第一个位置上,所以第二个物体没有被删除掉,

解决方法‘
倒叙遍历删除
先删第二个,并移除
再删第一个 ,并移除


List<GameObject> books =new List<GameObject>();
 for (int i = books.Count-1; i >=0; i--)
            {
        
                    
                    books[i].DestroyImmediate( );
                    books.Remove(books[i]);
                
            }

你可能感兴趣的:(Unity小问题,unity)