我有一个ASP.NET
服务器端表,我想从中删除行。我正在尝试使用以下内容执行此操作。
For Each myRw As TableRow In tblDays.Rows
tblDays.Rows.Remove(myRw)
Next
我收到枚举错误。我想知道是否有人对此有一个好的方法。
答案 0 :(得分:1)
ForEach
适用于枚举器,您无法修改ForEach
循环中的枚举器。
执行以下操作以实现您想要的目标
For i AS Integer = tblDays.Rows.Count - 1 To 0 Step -1
tblDays.Rows.RemoveAt(i)
Next
或者您可以清除行集合
tblDays.Rows.Clear()
答案 1 :(得分:1)
您无法在枚举期间修改集合(foreach
)。修改意味着您无法添加,删除或替换项目。您必须使用for
或while
循环或仅使用Table.Rows.Clear
:
tblDays.Rows.Clear()
这里是for-loop(你需要向后循环)
For i As Int32 = tblDays.Rows.Count - 1 To 0 Step -1
tblDays.Rows.RemoveAt(i)
Next
这里是while-loop
While tblDays.Rows.Count > 0
tblDays.Rows.RemoveAt(0)
End While