Оператор Continue (Visual Basic)
Передает управление непосредственно следующей итерации цикла.
Continue { Do | For | While }
Заметки
Можно перейти из очередной итерации цикла Do, For или While к следующей итерации этого цикла.Управление немедленно передается проверке условия цикла, что эквивалентно передаче оператору For или While, либо оператору Do или Loop, который содержит предложение Until или While.
Continue можно использовать в любом месте в цикле, в котором возможна передача.Правила разрешения передачи управления такие же, как для Оператор GoTo.
Например, если цикл полностью содержится внутри блока Try, Catch или Finally, можно использовать Continue для передачи вне цикла.Если, с другой стороны, структура блока Try...End Try находится внутри цикла, то нельзя использовать Continue для передачи управления из блока Finally, а можно использовать для передачи из блока Try или Catch, только если передача полностью вне структуры Try... End Try.
Если есть вложенные циклы одного типа, например, цикл Do в цикле Do, то инструкция Continue Do осуществляет переход к следующей итерации самого внутреннего цикла Do, в котором она содержится.Чтобы перейти к следующей итерации включающего цикла того же, нельзя использовать Continue.
Если имеются вложенные циклы различного типа, например, цикл Do в цикле For, то можно перейти к следующей итерации любого цикла с помощью Continue Do или Continue For.
Пример
В следующем примере используется инструкция Continue While, чтобы перейти к следующему столбцу массива, если делитель равен нулю.Continue While находится внутри цикла For.Он передает управление инструкции While col < lastcol, которая является следующей итерацией внутреннего цикла While, который содержит цикл For.
Dim row, col As Integer
Dim lastrow As Integer = 6
Dim lastcol As Integer = 10
Dim a(,) As Double = New Double(lastrow, lastcol) {}
Dim b(7) As Double
row = -1
While row < lastrow
row += 1
col = -1
While col < lastcol
col += 1
a(row, col) = 0
For i As Integer = 0 To b.GetUpperBound(0)
If b(i) = col Then
Continue While
Else
a(row, col) += (row + b(i)) / (col - b(i))
End If
Next i
End While
End While
См. также
Ссылки
Оператор Do...Loop (Visual Basic)
Оператор For... Next (Visual Basic)