Оператор 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)

Оператор While... End While (Visual Basic)

Оператор Try... Catch... Finally (Visual Basic)