Language Basics VB.Net Tutorial

Public Class Tester
   ' instance variable can be used anywhere in class
   Dim Shared value As Integer = 1
   ' demonstrates class scope and block scope
   Public Shared Sub Main
      Dim value As Integer = 5
      Console.WriteLine("local variable value in" & _
         " FrmScoping_Load is " & value )
      MethodA() ' MethodA has automatic local value
      MethodB() ' MethodB uses instance variable value
      MethodA() ' MethodA creates new automatic local value
      MethodB() ' instance variable value retains its value
      Console.WriteLine("local variable " & _
         "value in FrmScoping_Load is " & value )
   End Sub 
   ' automatic local variable value hides instance variable
   Shared Sub  MethodA()
      Dim value As Integer = 25 ' initialized after each call
      Console.WriteLine("local variable " & _
         "value in MethodA is " & value & " after entering MethodA" )
      value += 1
      Console.WriteLine("local variable " & _
         "value in MethodA is " & value & " before exiting MethodA" )
   End Sub 
   ' uses instance variable value
   Shared Sub  MethodB()
      Console.WriteLine("instance variable" & _
         " value is " & value & " after entering MethodB" )
      value *= 10
      Console.WriteLine("instance variable " & _
         "value is " & value & " before exiting MethodB" )
   End Sub
End Class
local variable value in FrmScoping_Load is 5
local variable value in MethodA is 25 after entering MethodA
local variable value in MethodA is 26 before exiting MethodA
instance variable value is 1 after entering MethodB
instance variable value is 10 before exiting MethodB
local variable value in MethodA is 25 after entering MethodA
local variable value in MethodA is 26 before exiting MethodA
instance variable value is 10 after entering MethodB
instance variable value is 100 before exiting MethodB
local variable value in FrmScoping_Load is 5