Demonstrates passing by reference. : Pass by Reference « Class Module « VB.Net Tutorial






Module Tester

   Sub Main()
      Dim number1 As Integer = 2

      Console.WriteLine("Before calling SquareByValue, " & "number1 is {0}", number1)
      SquareByValue(number1)  ' passes number1 by value
      Console.WriteLine("After returning from SquareByValue, " & "number1 is {0}" & vbCrLf, number1)

      Dim number2 As Integer = 2

      Console.WriteLine("Before calling SquareByReference, " & "number2 is {0}", number2)
      SquareByReference(number2) ' passes number2 by reference
      Console.WriteLine("After returning from " & _
         "SquareByReference, number2 is {0}" & vbCrLf, number2)

      Dim number3 As Integer = 2

      Console.WriteLine("Before calling SquareByReference " & "using parentheses, number3 is {0}",number3)
      SquareByReference((number3)) ' passes number3 by value
      Console.WriteLine("After returning from " & "SquareByReference, number3 is {0}", number3)

   End Sub

   Sub SquareByValue(ByVal number As Integer)
      Console.WriteLine("After entering SquareByValue, " & "number is {0}", number)
      number *= number
      Console.WriteLine("Before exiting SquareByValue, " & "number is {0}", number)
   End Sub

   Sub SquareByReference(ByRef number As Integer)
      Console.WriteLine("After entering SquareByReference" & ", number is {0}", number)
      number *= number
      Console.WriteLine("Before exiting SquareByReference" & ", number is {0}", number)
   End Sub 

End Module
Before calling SquareByValue, number1 is 2
After entering SquareByValue, number is 2
Before exiting SquareByValue, number is 4
After returning from SquareByValue, number1 is 2

Before calling SquareByReference, number2 is 2
After entering SquareByReference, number is 2
Before exiting SquareByReference, number is 4
After returning from SquareByReference, number2 is 4

Before calling SquareByReference using parentheses, number3 is 2
After entering SquareByReference, number is 2
Before exiting SquareByReference, number is 4
After returning from SquareByReference, number3 is 2








6.4.Pass by Reference
6.4.1.Pass value by reference
6.4.2.Demonstrates passing by reference.
6.4.3.Pass class by reference
6.4.4.Pass Decimal by reference