现在的位置: 首页 > 综合 > 正文

遍历ArrayList易犯错误

2012年05月18日 ⁄ 综合 ⁄ 共 558字 ⁄ 字号 评论关闭
场景:

将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);
                }

            }

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

抱歉!评论已关闭.