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)