Array passed By Reference : ByRef « Language Basics « VB.Net






Array passed By Reference

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

           
         
  








Related examples in the same category

1.Pass parameter By value or By ReferencePass parameter By value or By Reference
2.Object parameter passed by Value and by ReferenceObject parameter passed by Value and by Reference
3.Structure parameter passed by Value and by Reference
4.String parameter passed by Value and by ReferenceString parameter passed by Value and by Reference
5.Array parameter passed by Value and by ReferenceArray parameter passed by Value and by Reference
6.Modify Array Element By Reference Modify Array Element By Reference
7.To test reference type variables for Nothing values, use the Is operator or the IsNot operator.