以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]删除集合问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139860) |
-- 作者:81538475 -- 发布时间: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() --------------------------- 确定 --------------------------- |
-- 作者:有点蓝 -- 发布时间: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
|