Friday 16 September 2011

Local variable shadows global variable with the same name

Module Module1

    Dim Counter As Integer

    Sub BigLoop()
        For Counter = 1000 To 1005      ' Use global Counter
            Console.Write(Counter & " ")
        Next
    End Sub

    Sub LittleLoop()
        Dim Counter As Integer

        For Counter = To 5      ' Use local Counter
            Console.Write(Counter & " ")
        Next
    End Sub

    Sub Main()
        Counter = 100

        Console.WriteLine("Starting Counter: " & Counter)
        BigLoop()
        Console.WriteLine("Counter after BigLoop: " & Counter)
        LittleLoop()
        Console.WriteLine("Counter after LittleLoop: " & Counter)

        If (Counter > 1000Then
            Dim Counter As Integer = 0

            Console.WriteLine("Counter in If statement: " & Counter)
        End If

        Console.WriteLine("Ending Counter: " & Counter)
    End Sub

End Module

No comments:

Post a Comment