Array parameter passed by Value and by Reference : ByVal « Language Basics « VB.Net






Array parameter passed by Value and by Reference

Array parameter passed by Value and by Reference
Imports System

public class MainClass
   Shared Sub Main()
        Dim A As Integer() = {1, 2, 3, 4, 5}
        Dim B As Integer()
        B = A
        Console.WriteLine("Initial state ArrayTests")
        Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
        Console.WriteLine("Array A:")
        DisplayArray(A)
        Console.WriteLine("Array B")
        DisplayArray(B)

        FunctionPassArrayByReference1(B)
        Console.WriteLine("After FunctionPassArrayByReference1")
        Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
        Console.WriteLine("Array A:")
        DisplayArray(A)
        Console.WriteLine("Array B")
        DisplayArray(B)

        A(0) = 1
        B = A
        FunctionPassArrayByReference2(B)
        Console.WriteLine("After FunctionPassArrayByReference2")
        Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
        Console.WriteLine("Array A:")
        DisplayArray(A)
        Console.WriteLine("Array B")
        DisplayArray(B)

        A(0) = 1
        B = A
        FunctionPassArrayByValue1(B)
        Console.WriteLine("After FunctionPassArrayByValue1")
        Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
        Console.WriteLine("Array A:")
        DisplayArray(A)
        Console.WriteLine("Array B")
        DisplayArray(B)

        A(0) = 1
        B = A
        FunctionPassArrayByValue2(B)
        Console.WriteLine("After FunctionPassArrayByValue2")
        Console.WriteLine("Are A and B the same? " + (A Is B).ToString())
        Console.WriteLine("Array A:")
        DisplayArray(A)
        Console.WriteLine("Array B")
        DisplayArray(B)


   End Sub

   Shared Public Sub FunctionPassArrayByReference1(ByRef Y As Integer())
        Y(0) = 5
    End Sub

   Shared Public Sub FunctionPassArrayByReference2(ByRef Y As Integer())
        Dim NewArray As Integer() = {2, 3, 4, 5, 6}
        Y = NewArray
    End Sub

   Shared Public Sub FunctionPassArrayByValue1(ByVal Y As Integer())
        Y(0) = 5
    End Sub

   Shared Public Sub FunctionPassArrayByValue2(ByVal Y As Integer())
        Dim NewArray As Integer() = {2, 3, 4, 5, 6}
        Y = NewArray
    End Sub

   Shared Public Sub DisplayArray(ByVal Y As Integer())
        Dim X As Integer
        For X = 0 To UBound(Y)
            Console.Write(Y(X).ToString)
            If X <> UBound(Y) Then
                Console.Write(", ")
            Else
                Console.WriteLine()
            End If

        Next
    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.Function with pass by value ParameterFunction with pass by value Parameter
5.Passing arrays and individual array elements to proceduresPassing arrays and individual array elements to procedures
6.Modify Array Element By Value Modify Array Element By Value
7.Array passed By ValueArray passed By Value
8.Squares three values ByVal and ByRef, displays resultsSquares three values ByVal and ByRef, displays results