【发布时间】:2009-07-22 15:02:26
【问题描述】:
我正在尝试根据字符串的存在来过滤 ListBox。基本上,如果有一个 ListItem 不包含该字符串,那么我想删除所有包含该字符串的 ListItem。这是我尝试过的:
Dim Item As ListItem
For Each Item In CtheList.Items
If Item.Text.IndexOf("W:") = -1 Then
CtheList.Items.Remove(Item)
End If
Next
这显然是一个禁忌,因为它会产生错误:Collection was modified;枚举操作可能无法执行。
我也试过了:
Dim Item As ListItem
For Each Item In CtheList.Items
If Item.Text.IndexOf("W:") = -1 Then
Dim i As Integer
For i = 0 To CtheList.Items.Count - 1
If CtheList.Items.Item(i).Text.IndexOf("W:") > -1 Then
CtheList.Items.RemoveAt(i)
End If
Next i
End If
Next
这会产生索引超出范围异常。
非常感谢任何帮助。
【问题讨论】:
标签: vb.net