Foxtable(狐表)用户栏目专家坐堂 → [求助]这是什么错误


  共有11148人关注过本帖树形打印复制链接

主题:[求助]这是什么错误

帅哥哟,离线,有人找我吗?
puyouliang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:67 积分:703 威望:0 精华:0 注册:2010/11/23 23:03:00
[求助]这是什么错误  发帖心情 Post By:2011/5/10 15:25:00 [只看该作者]

我用代码设置了一个集合然后在遍历前又加了一个判断文件是否存在如下:

            For Each cmxh In cmjh
            lj = ProjectPath & "数据\" & xzm & "\" & cmxh & ".xls"
            If FileSys.FileExists(lj) Then
            Else

            cmjh.Remove(cmxh)
            MessageBox.show(cmxh & "的数据不存在" )
            End If
            Next
删除了没文件的集体值后再遍历,可是报错了说“集合已修改,可能无法执行枚举操作。

然后就终止了

 

这是什么原因,请老师指导

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/10 15:53:00 [只看该作者]

Dim lst As New List(of String) '存储要删除的值
For Each cmxh In cmjh
    lj = ProjectPath & "数据\" & xzm & "\" & cmxh & ".xls"
    If FileSys.FileExists(lj) Then
    Else
        lst.Add(cmxh)
    End If
Next
For Each s As String In Lst
   cmxh.Remove(s)
Next

 回到顶部
帅哥哟,离线,有人找我吗?
puyouliang
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:67 积分:703 威望:0 精华:0 注册:2010/11/23 23:03:00
  发帖心情 Post By:2011/5/10 16:04:00 [只看该作者]

请问老师,存储删除值的作用是不是说在遍历中不能改变自身集合的值啊,而要储起来用另外一个遍历来删除这些值

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/10 16:06:00 [只看该作者]

是的,遍历过程不能增加删除成员。

 回到顶部