以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  帮助中的说明  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11346)

--  作者:明丰
--  发布时间:2011/7/19 9:14:00
--  帮助中的说明

如果在满足指定条件的时候,不执行循环代码,而是直接进行下一次循环,可以用Continue Do语句,例如对于下面的代码:

Dim Sum As Integer
Dim i As Integer = 0
Do While i < 100
    i = i + 1
    If i Mod 2 = 0 Then
        Continue Do
    End If
    Sum = Sum + i
Loop
Output.Show(Sum)

上面的代码累加了1到100之间的奇数,因为碰到偶数,就直接进行下一次循环,而没有累加到变量Sum中。

 

“帮助”的这个例子,较难理解,建议增加更详细说明。不知这样理解是否正确:

 

1:如果使用Continue Do语句,计数器变量(如i = i + 1)要放到If前面(否则程序将处于死循环之中)
2:当 i = i + 1放在 Sum = Sum + i 前面时,“初始值、终止值”都要同时减去“步长值”。
  如“累加了1到100之间的奇数”
     i = i + 1
     Dim i As Integer =(1-1)即0
     Do While i <= (100-1)即99