Mega Code Archive

 
Categories / VB.Net / Language Basics
 

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