Codificación De El Ciclo While En Visual Basic

Como funcionan las condiciones del Ciclo While




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

Comentarios