Collections VB.Net Tutorial

Module Tester
   Sub Main()
      Dim array1 As Integer() = New Integer() {1, 2, 3, 4, 5}
      Dim i As Integer
      ' display original elements of array1
      For i = 0 To array1.GetUpperBound(0)
         Console.WriteLine(array1(i))
      Next
      ModifyArray(array1) ' array is passed by reference
      Console.WriteLine("The values of the modified array are:")
      ' display modified elements of array1
      For i = 0 To array1.GetUpperBound(0)
         Console.WriteLine(array1(i))
      Next
      ' array element passed by value
      ModifyElementByVal(array1(3))
      Console.WriteLine("array1(3) after " & _
         "ModifyElementByVal: " & array1(3))
      ' array element passed by reference
      ModifyElementByRef(array1(3))
      Console.WriteLine("array1(3) after " & _
         "ModifyElementByRef: " & array1(3))
   End Sub ' Main
   ' procedure modifies array it receives (note ByVal)
   Sub ModifyArray(ByVal arrayParameter As Integer())
      Dim j As Integer
      For j = 0 To arrayParameter.GetUpperBound(0)
         arrayParameter(j) *= 2
      Next
   End Sub ' ModifyArray
   ' procedure modifies integer passed to it
   ' original is not be modified (note ByVal)
   Sub ModifyElementByVal(ByVal element As Integer)
      Console.WriteLine("Value received in " & _
         "ModifyElementByVal: " & element)
      element *= 2
      Console.WriteLine("Value calculated in " & _
         "ModifyElementByVal: " & element)
   End Sub ' ModifyElementByVal
   ' procedure modifies integer passed to it
   ' original is be modified (note ByRef)
   Sub ModifyElementByRef(ByRef element As Integer)
      Console.WriteLine("Value received in " & _
         "ModifyElementByRef: " & element )
      element *= 2
      Console.WriteLine("Value calculated in " & _
         "ModifyElementByRef: " & element)
   End Sub 
End Module
1
2
3
4
5
The values of the modified array are:
2
4
6
8
10
Value received in ModifyElementByVal: 8
Value calculated in ModifyElementByVal: 16
array1(3) after ModifyElementByVal: 8
Value received in ModifyElementByRef: 8
Value calculated in ModifyElementByRef: 16
array1(3) after ModifyElementByRef: 16