配列は参照型です。 そのため、配列の変数に代入を行う場合、配列がまるごとコピーされて代入されるのではなく、配列への参照が代入されるだけとなる点に注意が必要です。

次の例のように、配列の変数に代入を行っても配列の実体は一つであるため、異なる変数を経由した変更でも実際に行われる変更は同一の配列に対するものとなります。

配列の代入
Imports System

Class Sample
  Shared Sub Main()
    ' 配列を作成してarr1に代入
    Dim arr1 As String() = {"Alice", "Bob", "Charlie"}

    ' arr1の各要素を表示
    Console.WriteLine("arr1(0) = {0}", arr1(0))
    Console.WriteLine("arr1(1) = {0}", arr1(1))
    Console.WriteLine("arr1(2) = {0}", arr1(2))
    Console.WriteLine()

    ' arr1に代入されている配列への参照をarr2に代入
    Dim arr2 As String() = arr1

    arr2(1) = "Dave" ' arr2の1番目の値を変更

    ' arr1の各要素を表示
    Console.WriteLine("arr1(0) = {0}", arr1(0))
    Console.WriteLine("arr1(1) = {0}", arr1(1))
    Console.WriteLine("arr1(2) = {0}", arr1(2))
  End Sub
End Class
実行結果
arr1[0] = Alice
arr1[1] = Bob
arr1[2] = Charlie

arr1[0] = Alice
arr1[1] = Dave
arr1[2] = Charlie

配列のコピーを行いたい場合はArray.CloneメソッドまたはArray.Copyメソッドを使います。