vbscript - VBScript 上的 "Continue"(到下一次迭代)

标签 vbscript iteration continue

我和一位同事试图找出一种方法,在 VBScript“For/Next”循环中执行相当于“继续”语句的操作。

我们到处寻找,发现人们无法在 VBScript 中做到这一点而不需要令人讨厌的嵌套,这对我们来说不是一个选择,因为它是一个相当大的循环。

我们提出了这个想法。它会像“继续(到下一次迭代)”一样工作吗?有没有人有更好的解决方法或改进建议?

For i=1 to N
  For workaroundloop = 1 to 1
    [Code]
    If Condition1 Then
      Exit For
    End If

    [MoreCode]
    If Condition2 Then
      Exit For
    End If

    [MoreCode]
    If Condition2 Then
      Exit For
    End If

    [...]

  Next
Next

感谢您的评论

最佳答案

您的建议可行,但使用 Do 循环可能更具可读性。

这实际上是 C 语言中的一个习惯用法 - 如果您想尽早摆脱构造,您可以使用 do { } while (0) 循环和 Break 语句,而不是使用 goto。

Dim i

For i = 0 To 10
    Do
        If i = 4 Then Exit Do
        WScript.Echo i
    Loop While False
Next

正如rush建议的那样,如果删除额外的缩进级别,看起来会好一点。

Dim i

For i = 0 To 10: Do
    If i = 4 Then Exit Do
    WScript.Echo i
Loop While False: Next

关于vbscript - VBScript 上的 "Continue"(到下一次迭代),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3944062/

相关文章:

python - 如何比较列表中的4个连续元素?

java.util.ConcurrentModificationException 但我没有删除

python - 多次嵌套 'for'循环,如果内层循环条件为真,继续下一次外层循环

powershell - 远程Powershell弹出消息

arrays - 写入 MultiString 注册键的 VB 脚本

batch-file - 无法将 VBS 作为批处理或计划任务运行

dom - 如何在 XML 文件中添加换行符?

java - for() 语句指令顺序

Python - 使用 'continue' 循环遍历 FOR 语句(Craigslist 发布)

java - 同时从 ArrayList 中删除两个对象而不引发 ConcurrentModificationException?