Billpeng Space

技术源自生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#在List遍历的时候删除项

Posted on 2020-04-20 03:42  billpeng  阅读(1343)  评论(0编辑  收藏  举报
    /// <summary>
    /// 当你在遍历的过程中删除某个对象的时候,这时被删除的对象之后的所有对象都会往前移动一位。
    /// 如果想正确的遍历整个list就需要让i从0开始重新遍历。
    /// 我这里的i=-1是因为当我们进行下一次循环的时候i++,所有刚好下次循环的时候是用0开始。
    /// 缺点:因为每次删除对象都嘚从新遍历,所有增加了代码执行的时间。
    /// </summary>
    private void Test()
    {
        for(int i=lists.Count-1;i>=0;i--)
        {
            if(lists[i]==1)
            {
                lists.Remove(lists[i]);
                break;
            } 
        }
    }