有关删除list、Dictionary中的元素随记
开了博客园这么久,今天第一次写随记,望以后记得坚持!
好了废话不多说,我们在程序开发的过程中难免会遇到增删改查列表中的值,但是问题来了 ,我们在遍历list的时候remove其中的一个元素,如果不接着return掉就会报异常,就像这样:
会报异常:
foreach (GameObject obj in EffectItemList) { EffectItemList.Remove(obj); }
不会报异常:
foreach (GameObject obj in EffectItemList) { EffectItemList.Remove(obj); return; }
其实还有一个不用return的方法,并且也不会报异常,我们来直接看代码吧
1 for(int i = composeSamllList.Count -1 ; i >= 0 ; i --) 2 { 3 if(composeSamllList[i]== false){ 4 composeSamllList.Remove(composeSamllList[i]); 5 } 6 }
好了,大家应该都能看明白吧,到这来就不会报异常了,哈哈
至于要更改Dictionary里的元素的话,我们要在建立一个新的列表,把要更改的元素添加到列表里,然后遍历删除Dictionary里的值,最后在把列表里的值清除,就不上代码了