Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10309946
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类: C#/.net

2016-02-26 13:52:55

1、我们选择用for循环,

for(int i=0;i

{

     if(list[i])

    {

        list.RemoveAt(i);

    }

}

如果这样循环,肯定不对,

{A B C D E F G H}  假设当前遍历到D(i=3),移除,接着遍历i=4(F), 此时跳过了E(i=3)


2、我们使用倒序遍历,这个问题就解决了

    

for(int i=list.Count-1;i>=0;i--)

{

     if(list[i])

    {

        list.RemoveAt(i);

    }

转自博客:
http://blog.csdn.net/cnhk1225/article/details/24305591

}


阅读(2832) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~