Compartir a través de


Instrucción Continue (Visual Basic)

Actualización: noviembre 2007

Transfiere controle inmediatamente a la siguiente iteración de un bucle.

Continue { Do | For | While }

Comentarios

Puede transferir desde dentro de un bucle Do, For o While a la siguiente iteración de ese bucle. El control pasa inmediatamente a la comprobación de condición del bucle, que es equivalente a transferir a la instrucción For o While, o a la instrucción Do o Loop que contiene la cláusula Until o While.

Puede usar Continue en cualquier ubicación del bucle que permita transferencias. Las reglas que permiten la transferencia del control son iguales que las de la GoTo (Instrucción).

Por ejemplo, si un bucle está completamente incluido en un bloque Try, un bloque Catch o un bloque Finally, puede usar Continue para transferir el control fuera del bucle. Por otra parte, si la estructura Try...End Try está contenida dentro del bucle, no puede usar Continue para transferir el control fuera del bloque Finally y utilizarlo para transferirlo fuera de un bloque Try o Catch sólo si lo transfiere completamente fuera de la estructura Try...End Try.

Si tiene bucles anidados del mismo tipo, por ejemplo un bucle Do dentro de otro bucle Do, una instrucción Continue Do pasa a la siguiente iteración del bucle Do más interno que lo contiene. No puede utilizar Continue para pasar a la iteración siguiente de un bucle que contiene el mismo tipo.

Si tiene bucles anidados de distintos tipos, por ejemplo un bucle Do dentro de un bucle For, puede pasar a la siguiente iteración de cualquiera de esos bucles mediante Continue Do o Continue For.

Ejemplo

El ejemplo de código siguiente utiliza la instrucción Continue While para pasar a la siguiente columna de una matriz si un divisor es cero. Continue While está dentro de un bucle For. Transfiere a la instrucción While col < lastcol, que es la siguiente iteración del bucle While más interior que contiene el bucle 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

Vea también

Tareas

Cómo: Pasar a la siguiente iteración de un bucle

Referencia

Instrucción Do...Loop (Visual Basic)

Instrucción For...Next (Visual Basic)

Instrucción While...End While (Visual Basic)

Instrucción Try...Catch...Finally (Visual Basic)