日期:2014-05-17  浏览次数:21077 次

C#--集合已修改;可能无法执行枚举操作。
在给一个C#数组进行遍历操作删除操作的时候报了如题的错误,后来发现是foreach的问题
原代码如下
                    foreach (Wuliao item in pro.List)
                    {
                        if (int.Parse(item .ID) < 106)
                        {
                            pro.List.Remove(item);
                        }
                    }

修改为for循环的办法如下
                    int j = 0;
                    for (int i = 0;i<pro.List.Count;i++)
                    {
                        if (int.Parse(pro.List[j].ID) < 106)
                        {
                            pro.List.Remove(pro.List[j]);
                            j--;
                        }
                        j++; i++;
                    }

问题解决了,虽然问题解决了,但是引入好几个变量,总感觉不爽,不过目前也没想到其他办法,自带的remove函数也不支持表达式,郁闷