Array passed By Value : ByVal « Language Basics « VB.Net






Array passed By Value

Array passed By Value
Imports System

Public Class MainClass

    Shared Sub Main(ByVal args As String())
      Dim i As Integer

      Dim firstArray As Integer()
      Dim firstArrayCopy As Integer()

      firstArray = New Integer() {1, 2, 3}
      firstArrayCopy = firstArray

      Console.WriteLine("Test passing array reference using ByVal.")
      Console.WriteLine("Contents of firstArray before calling FirstDouble: ")

      For i = 0 To firstArray.GetUpperBound(0)
         Console.WriteLine(firstArray(i))
      Next

      ' pass firstArray using ByVal
      FirstDouble(firstArray)

      Console.WriteLine("Contents of firstArray after calling FirstDouble: ")

      ' print contents of firstArray
      For i = 0 To firstArray.GetUpperBound(0)
         Console.WriteLine(firstArray(i) & " ")
      Next

      ' test whether reference was changed by FirstDouble
      If firstArray Is firstArrayCopy Then
         Console.WriteLine("The references are equal.")
      Else
         Console.WriteLine("The references are not equal.")
      End If


    End Sub
   ' procedure modifies elements of array and assigns 
   ' new reference (note ByVal)
   Shared Sub FirstDouble(ByVal array As Integer())
      Dim i As Integer

      ' double each element value
      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

End Class

           
       








Related examples in the same category

1.Object parameter passed by Value and by ReferenceObject parameter passed by Value and by Reference
2.Structure parameter passed by Value and by Reference
3.String parameter passed by Value and by ReferenceString parameter passed by Value and by Reference
4.Array parameter passed by Value and by ReferenceArray parameter passed by Value and by Reference
5.Function with pass by value ParameterFunction with pass by value Parameter
6.Passing arrays and individual array elements to proceduresPassing arrays and individual array elements to procedures
7.Modify Array Element By Value Modify Array Element By Value
8.Squares three values ByVal and ByRef, displays resultsSquares three values ByVal and ByRef, displays results