The For Next Loop is used to repeatedly execute a sequence of code or a block of code until a given condition is satisfied. It is useful in such a case when we know how many times a block of code has to be executed.
You use a For Next Loop when you want to repeat some statements a set number of times.
In the following example, the index variable starts with a value of 1 and is incremented with each iteration of the loop, ending after the value of the index reaches 10.
Public Sub Example1()
For index As Integer = 1 To 10
Console.Write(index.ToString & ", ")
Next
Console.WriteLine("")
End Sub
Let's consider another example in which the number variable starts at 5 and is reduced by 0.5 on each iteration of the loop, ending after the value of number reaches 0. The Step argument of -.5 reduces the value by 0.5 on each iteration of the loop.
Public Sub Example2()
For number As Double = 5 To 0 Step -0.5
Console.Write(number.ToString & ", ")
Next
Console.WriteLine("")
End Sub
You can also nest For Next loops by putting one loop within another.
The following example shows nested For Next loops that have different step values.
Public Sub Example3()
For indexA = 1 To 3
Dim sb As New System.Text.StringBuilder()
For indexB = 20 To 1 Step -2
sb.Append(indexB.ToString)
sb.Append(" ")
Next indexB
Console.WriteLine(sb.ToString)
Next indexA
End Sub
The outer loop creates a string for every iteration of the loop. The inner loop decrements a loop counter variable for every iteration of the loop.
When nesting loops, each loop must have a unique counter variable.
The Exit For statement immediately exits the For Next loop and transfers control to the statement that follows the Next statement.
The Continue For statement transfers control immediately to the next iteration of the loop.
The following example shows the use of the Continue For and Exit For statements.
Public Sub Example4()
For index As Integer = 1 To 100000
If index >= 5 AndAlso index <= 8 Then
Continue For
End If
Console.Write(index.ToString & " ")
' If index is 10, exit the loop.
If index = 10 Then
Exit For
End If
Next
Console.WriteLine("")
End Sub
You can put any number of Exit For statements in a For Next loop. When used within nested For Next loops, Exit For exits the innermost loop and transfers control to the next higher level of nesting.
Exit For is often used after you evaluate some condition such as an If...Then...Else structure.