Mega Code Archive

 
Categories / VB.Net Tutorial / Collections
 

Passing arrays and individual array elements to procedures

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