C#遍历可变化的集合

如果用foreach,会造成被遍历的集合更改后带来异常问题。
方法一:用for循环可有效的解决这个问题。
for(int i=0;i<List.Count;i++)
 {
   if(条件是真)
     { 
        List.Remove(List[i]);
        i--; 
    } 
} 

方法二:再用另外的一个List集合存储要删除的对象。
List<T> newlists=new List<T>();
foreach(T t in List)
{
   lists.add(t);
}
foreach(T t in newlists)
{
   List.Remove(t);
}

 

posted @ 2014-01-23 20:37  quietwalk  阅读(1926)  评论(0编辑  收藏  举报