What the heck is a loop???

A loop is a repetitive procedure that is designed to repeat a given set of instructions.

Loops are absolutely essential for getting work done. You know how computer software saves you so much time, by doing the tedious repetition of tasks? Our good hero the loop is the one to blame.

Other terms associated with loops: Looping, Iterating, Iteration, Enumerating, Enumeration, Cycling

What kind of loops can you make in Visual Basic?

  • The most primitive loop (GOTO) in the basic programming language involves the use of 2 components:
    • ) A numeric label for the parser
    • ) A GOTO command
      • Example of a simple GOTO Loop
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        1:      Dim Counter As Integer = 0
        2:      Counter = Counter + 1
        3:      'You can put
        4:      'code in-between
        5:      If Counter < 100 Then GoTo 2
        6:      MsgBox("We have reached " & Counter & ", so the loop is complete!")
            End Sub
        End Class
    • Never use this, there are better ways!
  • The good ol' Do-Loop Loop, this loop has several different ways it can be used:
    • ) Do-Loop-Until
      • Example
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Count As Integer = 0
                Do
                    'You can put
                    'Code in here
                    Count = Count + 1
                Loop Until Count = 100
                MsgBox("We have reached " & Count & ", so the loop is complete!")
            End Sub
        End Class
    • ) Do-Loop-While
      • Example
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Count As Integer = 0
                Do While Count < 100
                    'You can put
                    'Code in here
                    Count = Count + 1
                Loop
                MsgBox("We have reached " & Count & ", so the loop is complete!")
            End Sub
        End Class
    • ) Do-Loop-Exit Do
      • Example
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Count As Integer = 0
                Do
                    'You can put
                    'Code in here
                    Count = Count + 1
                    If Count = 100 Then Exit Do
                Loop
                MsgBox("We have reached " & Count & ", so the loop is complete!")
            End Sub
        End Class
  • There's yet another kind of loop! For-Next
    • For - Next
      • Example
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Result As Integer
                For I As Integer = 0 To 100
                    'You can put
                    'Code in here
                    Result = I
                Next
                MsgBox("We have reached " & Result & ", so the loop is complete!")
            End Sub
        End Class
    • ​For-Next-Step
      • Example
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Result As Integer
                For I As Integer = 500 To 100 Step -2
                    'You can put
                    'Code in here
                    Result = I
                Next
                MsgBox("We have reached " & Result & ", so the loop is complete!")
            End Sub
        End Class
    • ​For-Next-Exit For
      • Example
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Result As Integer
                For I As Integer = 0 To 500000
                    'You can put
                    'Code in here
                    Result = I
                    If I = 100 Then Exit For
                Next
                MsgBox("We have reached " & Result & ", so the loop is complete!")
            End Sub
        End Class
    • ​For-Next-Continue For
      • Example
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Result As Integer
                For I As Integer = 0 To 200
                    Select Case I Mod 2
                        Case 1
                            Result = Result + 1
                            Continue For
                    End Select
                    'Only arrive here when I is an odd number
                Next
                MsgBox("We have reached " & Result & ", so the loop is complete!")
            End Sub
        End Class
    • For-Each-Next
      • Example
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Array() As Integer = {25, 25, 25, 25}
                Dim Result As Integer
                For Each Number As Integer In Array
                    Result = Result + Number
                Next
                MsgBox("We have reached " & Result & ", so the loop is complete!")
            End Sub
        End Class
  • While
    • While-End While
      • Example
      • Option Strict On
        Public Class Form1
            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                Dim Result As Integer
                While Result < 100
                    'You can put
                    'Code in here
                    Result = Result + 1
                End While
                MsgBox("We have reached " & Result & ", so the loop is complete!")
            End Sub
        End Class
  • Last, but not least, I want to add a very interesting method of looping called recursion.
    • I first really noticed it with Euclid's algorithm for calculating the greatest common divisor of 2 numbers. So here it is, Euclid's Algorithm utilizing recursion. This function will call itself recursively until the remainder is 0, effectively creating a loop without using any of the conventional methods listed above!
      • Example
      • Function EuclidGCD(Number1 As Integer, Number2 As Integer)
            Dim Remainder As Integer = Number1 Mod Number2
            If Remainder = 0 Then Return Number2
            Return EuclidGCD(Number2, Remainder)
        End Function
Summary

There are many many uses of looping in Visual basic, and programming in general would not be complete without the ability to iterate.


I hope you find this helpful, Please update this article if I left anything out!
Please view my other Technet Wiki Articles