Mega Code Archive

 
Categories / VB.Net / Language Basics
 

Array passed By Reference

Imports System Public Class MainClass     Shared Sub Main(ByVal args As String())       Dim i As Integer       ' declare array references       Dim secondArray As Integer()       Dim secondArrayCopy As Integer()       ' allocate secondArray and copy its reference       secondArray = New Integer() {1, 2, 3}       secondArrayCopy = secondArray       Console.WriteLine(vbCrLf & "Test passing array " & _          "reference using ByRef.")       Console.Write("Contents of secondArray before " & _          "calling SecondDouble: ")       ' print contents of secondArray before procedure call       For i = 0 To secondArray.GetUpperBound(0)          Console.Write(secondArray(i) & " ")       Next       ' pass secondArray using ByRef       SecondDouble(secondArray)       Console.Write(vbCrLf & "Contents of secondArray " & _          "after calling SecondDouble: ")       ' print contents of secondArray after procedure call       For i = 0 To secondArray.GetUpperBound(0)          Console.Write(secondArray(i) & " ")       Next       ' test whether the reference was changed by SecondDouble       If secondArray Is secondArrayCopy Then          Console.WriteLine(vbCrLf & "The references are " & _             "equal.")       Else          Console.WriteLine(vbCrLf & "The references are " & _             "not equal.")       End If     End Sub    ' procedure modifies elements of array and assigns    ' new reference (note ByRef)    Shared Sub SecondDouble(ByRef array As Integer())       Dim i As Integer       ' double contents of array       For i = 0 To array.GetUpperBound(0)          array(i) *= 2       Next       ' create new reference, assign it to array       array = New Integer() {11, 12, 13}    End Sub ' SecondDouble End Class