Visual Basic减少for循环中的迭代次数?

时间:2019-11-18 14:09:21

标签: vb.net

我正在尝试遍历列表框,删除不符合要求的项目。当前处于for循环中时,是否可以减少迭代次数?我试图减少循环中的最大变量,但这似乎不起作用。任何建议将不胜感激。

For x = 0 To total - 1
     If lstOut.Items.Item(x).substring(11, 10) <> studentField.sName Then
             lstOut.Items.RemoveAt(x)
             total = total - 1
     End If
Next

1 个答案:

答案 0 :(得分:1)

解决该问题,您可以从最后一个元素开始,然后向下移动(如下面的代码所示) 无需小心删除迭代

For x = lstOut.Items.Count - 1 To 0 Step -1
    If lstOut.Items.Item(x).substring(11, 10) <> studentField.sName Then
        lstOut.Items.RemoveAt(x)
    End If
Next