zoukankan      html  css  js  c++  java
  • 遍历ArrayList易犯错误


    场景:

    将ArrayList中符合条件的记录删掉,第一时间写出的程序如下:

                foreach (string aStr in  aList)
                
    {
                    
    if (aStr.Equals(textBox1.Text))
                    
    {
                        aList.Remove(aStr);
                    }

                }

    似乎没有错误,编译也通过的,但运行时如果真的遇到符合条件的数据,则会抛出错误:



    简单的解决办法是如何呢?这时用Clone方法最好不过了,用如下代码:

                ArrayList bList = (ArrayList)aList.Clone();
                
    foreach (string aStr in  bList)
                
    {
                    
    if (aStr.Equals(textBox1.Text))
                    
    {
                        aList.Remove(aStr);
                    }

                }

    似乎集合类型都会有这样的问题的。

  • 相关阅读:
    c++运算符优先级
    C++中宽字符类型(wchar_t)的编码
    标志寄存器综述
    ubuntu 更新源
    windows shell命令相关
    汇编语言-环境搭建(16位)
    linux配置ftp
    ssl协议相关
    boost相关
    ubuntu下编译protobuf
  • 原文地址:https://www.cnblogs.com/windsails/p/41039.html
Copyright © 2011-2022 走看看