2. Sentencia FOR.....NEXT: La sentencia For da lugar a un bucle, y permite ejecutar un número de sentencias un cierto número de veces. Su forma general es: Este tipo de bucles se usan principalmente para recorrer un rango discreto de valores. Estos bucles son especialmente útiles para recorrer matrices. El funcionamiento es el siguiente: primero se asigna el valor de la expresion1 a la variable y se comprueba si su valor es mayor o menor que expresion2. En caso de ser menor se ejecutan las Sentencias y una vez ejecutadas la variable se incrementa en el valor de expresion3 o en 1 si no hay Step, volviéndose a efectuar la comparación entre la variable y la expresion2 y así sucesivamente hasta que el valor de la variable es mayor que expresion2 y en ese caso se sale del bucle.Todo lo anterior se produce en el caso de ser expresion3 un valor positivo, si fuera negativo las sentencias se ejecutan cuando el valor de la variable es mayor que el de expresion2 y después de cada ejecución se decrementa su valor según lo especificado en expresion3.
4. Ejemplo For index As Integer = 1 To 5 Debug.Write(index.ToString & " ") Next Debug.WriteLine("") ' Output: 1 2 3 4 5 For indexA = 1 To 3 ' Create a new String Builder, which is used ' to efficiently build strings. Dim sb As New System.Text.StringBuilder() ' Append to the String Builder every third number ' from 20 to 1 descending. For index = 20 To 1 Step -3 sb.Append(indexB.ToString) sb.Append(" ") Next indexB ' Display the line. Debug.WriteLine(sb.ToString) Next indexA ' Output: ' 20 17 14 11 8 5 2 ' 20 17 14 11 8 5 2 ' 20 17 14 11 8 5 2
5. DimlstAsNew List(Of Integer) From {10, 20, 30, 40} For index AsInteger = lst.Count - 1 To 0 Step -1 lst.RemoveAt(index) Next Debug.WriteLine(lst.Count.ToString) ' Output: 0 For index AsInteger = 1 To 100000 ' If index is between 5 and 7, continue ' with the next iteration. If index >= 5 And index <= 8 Then ContinueFor EndIf ' Display the index. Debug.Write(index.ToString & " ") ' If index is 10, exit the loop. If index = 10 Then ExitFor EndIf Next Debug.WriteLine("") ' Output: 1 2 3 4 9 10 PublicEnum Mammals Buffalo Gazelle Mongoose Rhinocerous Whale EndEnum PublicSubListSomeMammals() For mammal As Mammals = Mammals.GazelleToMammals.Rhinocerous Debug.Write(mammal.ToString & " ") Next Debug.WriteLine("") ' Output: Gazelle Mongoose Rhinocerous EndSub
6. Private Class Distance Public Property Number() As Double Public Sub New(ByVal number As Double) Me.Number = number End Sub ' Define operator overloads to support For...Next statements. Public Shared Operator +(ByVal op1 As Distance, ByVal op2 As Distance) As Distance Return New Distance(op1.Number + op2.Number) End Operator Public Shared Operator -(ByVal op1 As Distance, ByVal op2 As Distance) As Distance Return New Distance(op1.Number - op2.Number) End Operator Public Shared Operator >=(ByVal op1 As Distance, ByVal op2 As Distance) As Boolean Return (op1.Number >= op2.Number) End Operator Public Shared Operator <=(ByVal op1 As Distance, ByVal op2 As Distance) As Boolean Return (op1.Number <= op2.Number) End Operator End Class Public Sub ListDistances() Dim distFrom As New Distance(10) Dim distTo As New Distance(25) Dim distStep As New Distance(4) For dist As Distance = distFrom To distTo Step distStep Debug.Write(dist.Number.ToString & " ") Next Debug.WriteLine("") ' Output: 10 14 18 22 End Sub