有关删除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里的值,最后在把列表里的值清除,就不上代码了

 

posted @ 2015-06-04 15:24  Mr_k0915  阅读(152)  评论(0编辑  收藏  举报