• for循环之删除注意细节


    前面说过用循环的地方尽量用foreach循环,既简洁又高效。可是删除的时候用foreach会出错,因此我们必须使用for循环来进行操作。 我写了下面一个测试demo,具体界面如下: for   第一个图是删除前的,第二个图是删除后的,具体的删除代码如下: for (int i = 0; i < lsvShow.Items.Count; i++) { lsvShow.Items.Remove(lsvShow.Items[i]); } 经过仔细分析,我发现我们删除的时候lsvShow.Count减小一个,删除了一个吗,但是i的值却一直再循环,所以就会导致lsvShow的item中的index出现变化,因此逐渐减小。 换个方式:如果lshow.item.count是固定值10的话,那么在上面删除时会报异常。因此我们应该删除时把i的值减少1;变成如下代码: if (lsvShow.Items.Count!=0) { for (int i = 0; i < lsvShow.Items.Count; i++) { lsvShow.Items.Remove(lsvShow.Items[i]); i--; } } 这样我们就可以清空我们所有的数据了。
  • 相关阅读:
    系统引导管理器GRUB,为初学者指南
    PHPBB安装
    python的装饰器
    PIL的问题解决
    python的小技巧
    强烈推荐instagram的ppt
    新的一天
    OpenStack介绍
    ansible自动化运维工具
    .net连oracle的问题
  • 原文地址:https://www.cnblogs.com/vsdot/p/3263269.html
Copyright © 2020-2023  润新知