zoukankan      html  css  js  c++  java
  • 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--; } } 这样我们就可以清空我们所有的数据了。
  • 相关阅读:
    MySQL
    权限(二)
    权限(一)
    化栈为队
    栈的最小值
    实现简易版react中createElement和render方法
    12.整数转罗马数字
    call,apply,bind的理解
    8. 字符串转换整数 (atoi)
    172.阶乘后的0
  • 原文地址:https://www.cnblogs.com/vsdot/p/3263269.html
Copyright © 2011-2022 走看看