Foxtable(狐表)用户栏目专家坐堂 → [求助]删除集合问题


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

主题:[求助]删除集合问题

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


加好友 发短信
等级:六尾狐 帖子:1287 积分:10362 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助]删除集合问题  发帖心情 Post By:2019/8/23 14:56:00 [只看该作者]

 For Each dr  As DataRow In drs2
        If dr("上班打卡时间") > "09:30"  AndAlso dr("上班打卡时间") < "09:45" Then
            rin = t2.FindRow(dr)
            If rin-1>0 Then   '--------判断上一行数据
                If t2.Rows(rin-1)("下班打卡时间") >"22:00" Then
                    drs2.Remove(dr)
                    
                End If
            End If
        End If
    Next
蓝色位置报错了,应该如何修改呢
---------------------------
版本:2019.6.18.1
---------------------------
代码执行出错,错误信息:



System.InvalidOperationException: 集合已修改;可能无法执行枚举操作。

   在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)

   在 System.Collections.Generic.List`1.Enumerator.MoveNextRare()

   在 System.Collections.Generic.List`1.Enumerator.MoveNext()

   在 UserCode.Test()
---------------------------
确定   
---------------------------


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/23 15:08:00 [只看该作者]

集合要倒序删除

for i as integer = dr2.count - 1 ti 0 step -1
dim dr As DataRow = dr1(i)
If dr("上班打卡时间") > "09:30"  AndAlso dr("上班打卡时间") < "09:45" Then
            rin = t2.FindRow(dr)
            If rin-1>0 Then   '--------判断上一行数据
                If t2.Rows(rin-1)("下班打卡时间") >"22:00" Then
                    drs2.Remove(dr)
                    
                End If
            End If
        End If

next

 回到顶部