Use una While...End While estructura cuando desee repetir un conjunto de instrucciones un número indefinido de veces, siempre y cuando se mantenga Trueuna condición. Si desea más flexibilidad con el punto de prueba de la condición o el resultado para probarlo, puede que prefiera la acción... Instrucción Loop. Si desea repetir las instrucciones un número establecido de veces, la instrucción for... La siguiente instrucción suele ser una mejor opción.
Nota
La While palabra clave también se usa en la. .. Instrucción Loop, la cláusula SKIP while y la cláusula Take while.
Si condition es True, todos los statements se ejecutan hasta End While que se encuentra la instrucción. A continuación, el control While vuelve a la condition instrucción y se comprueba de nuevo. Si condition todavíaTrueestá, el proceso se repite. Si es End While , el control pasa a la instrucción que sigue a la instrucción. False
La While instrucción siempre comprueba la condición antes de iniciar el bucle. El bucle continúa mientras se mantiene Truela condición. Si condition esFalse la primera vez que se escribe el bucle, no se ejecuta ni siquiera una vez.
Normalmente condition es el resultado de una comparación de dos valores, pero puede ser cualquier expresión que se evalúe como un valor de tipo de datos booleano (True o False). Esta expresión puede incluir un valor de otro tipo de datos, como un tipo numérico, que se ha convertido en Boolean.
Puede anidar While bucles colocando un bucle dentro de otro. También puede anidar distintos tipos de estructuras de control entre sí. Para obtener más información, vea estructuras de control anidadas.
Salir
La instrucción Exit while puede proporcionar otra manera de salir de While un bucle. Exit Whiletransfiere inmediatamente el control a la instrucción que sigue End While a la instrucción.
Normalmente se utiliza Exit While después de evaluar alguna condición (por ejemplo, en una If...Then...Else estructura). Es posible que desee salir de un bucle si detecta una condición que hace que sea innecesario o imposible continuar la iteración, como un valor erróneo o una solicitud de finalización. Puede usar Exit While al probar una condición que podría provocar un bucle interminable, que es un bucle que podría ejecutar un número muy grande o incluso infinito de veces. Después, puede usar Exit While para escapar el bucle.
Puede colocar cualquier número de Exit While instrucciones While en cualquier parte del bucle.
Cuando se usa dentro de While bucles anidados, Exit While transfiere el control fuera del bucle más interno y en el siguiente nivel superior de anidamiento.
La Continue While instrucción transfiere inmediatamente el control a la siguiente iteración del bucle. Para obtener más información, vea instrucción continue.
Ejemplo
En el ejemplo siguiente, las instrucciones del bucle continúan ejecutándose hasta que la index variable es mayor que 10.
VB
Dim index As Integer = 0
While index <= 10
Debug.Write(index.ToString & " ")
index += 1
End While
Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10
Ejemplo
En el ejemplo siguiente se muestra el uso de Continue While las Exit While instrucciones y.
VB
Dim index As Integer = 0
While index < 100000
index += 1
' If index is between 5 and 7, continue
' with the next iteration.
If index >= 5 And index <= 8 Then
Continue While
End If
' Display the index.
Debug.Write(index.ToString & " ")
' If index is 10, exit the loop.
If index = 10 Then
Exit While
End If
End While
Debug.WriteLine("")
' Output: 1 2 3 4 9 10
Ejemplo
En el ejemplo siguiente se leen todas las líneas de un archivo de texto. El OpenText método abre el archivo y devuelve un StreamReader que lee los caracteres. En la While condición, el Peek método de StreamReader determina si el archivo contiene caracteres adicionales.
VB
Private Sub ShowText(ByVal textFilePath As String)
If System.IO.File.Exists(textFilePath) = False Then
Debug.WriteLine("File Not Found: " & textFilePath)
Else
Dim sr As System.IO.StreamReader = System.IO.File.OpenText(textFilePath)
While sr.Peek() >= 0
Debug.WriteLine(sr.ReadLine())
End While
sr.Close()
End If
End Sub
Qie buen contenido interesante ciclo y muy buenos ejemplos
ResponderBorrarExcelente información muy buenos ejemplos
ResponderBorrarMuy buena información
ResponderBorrarBuen trabajo( ͡^ ͜ʖ ͡^)
ResponderBorrar