Escolar Documentos
Profissional Documentos
Cultura Documentos
Ejecuta una serie de instrucciones siempre que una condicin dada sea
True.
Ejemplo
En el ejemplo siguiente, las instrucciones del bucle continan ejecutndose hasta que la
variable index es superior a 10.
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
En el siguiente ejemplo se muestra el uso de las instrucciones Continue While y Exit While.
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
En el ejemplo siguiente se leen todas las lneas de un archivo de texto. El mtodo OpenText
abre el archivo y devuelve un StreamReader que lee los caracteres. En la condicin de
While , el mtodo de Peek de StreamReader determina si contiene caracteres adicionales.
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
BUCLES DO
Repite un bloque de instrucciones mientras una condicin Boolean sea
True o hasta que la condicin se convierta en True.
Ejemplo
En el ejemplo siguiente, las instrucciones del bucle continan ejecutndose hasta que la
variable index es superior a 10. La clusula Until est al final del bucle.
Dim index As Integer = 0
Do
Debug.Write(index.ToString & " ")
index += 1
Loop Until index > 10
Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10
En el ejemplo siguiente se utiliza una clusula While en vez de una clusula Until, y se
prueba condition al inicio del bucle en lugar de al final.
BUCLES FOR
Repite un grupo de instrucciones un nmero de veces especificado.
Ejemplo
El ejemplo siguiente elimina todos los elementos de una lista genrica. En lugar de
Instruccin For Each...Next (Visual Basic), el ejemplo muestra una instruccin de For
Next que recorra en orden descendente. El ejemplo utiliza esta tcnica porque el mtodo de
removeAt hace elementos despus del elemento quitado para tener un valor de ndice
mnimo.
Dim lst As New List(Of Integer) From {10, 20, 30, 40}
For index As Integer = lst.Count - 1 To 0 Step -1
lst.RemoveAt(index)
Next
Debug.WriteLine(lst.Count.ToString)
' Output: 0
El ejemplo siguiente se recorre en iteracin una enumeracin que se declara mediante
Instruccin Enum (Visual Basic).
Public Enum Mammals
Buffalo
Gazelle
Mongoose
Rhinoceros
Whale
End Enum
Public Sub ListSomeMammals()
For mammal As Mammals = Mammals.Gazelle To
Mammals.Rhinoceros
Debug.Write(mammal.ToString & " ")
Next
Debug.WriteLine("")
' Output: Gazelle Mongoose Rhinoceros
End Sub
En el siguiente ejemplo, los parmetros de la instruccin utilizan una clase que tiene
sobrecargas de operador para los operadores +, -, >= y <=.
Car) From
= "car1", .Color = "blue", .Speed
= "car2", .Color = "red", .Speed
= "car3", .Color = "green",
= "car4", .Color = "blue", .Speed
car4
car5
car1
car7
car3
car6
car2