Array.Cloneメソッドを使うことで、配列を複製して同じ内容を持った配列を生成することが出来ます。 Array.Cloneメソッドの戻り値はobjectであるため、必要に応じて複製元と同じ型にキャストして使います。

Array.Cloneメソッドで1次元配列の複製を作成する
Imports System

Class Sample
  Shared Sub Main()
    Dim arr1() As Integer = {0, 1, 2, 3, 4}
    Dim arr2() As Integer

    ' arr1を複製してarr2に代入
    arr2 = DirectCast(arr1.Clone(), Integer())

    ' 複製元と複製後の配列の要素を変更
    arr1(2) = 0
    arr2(2) = 5

    ' それぞれの配列の内容を表示
    For Each elem As Integer In arr1
      Console.Write("{0}, ", elem)
    Next
    Console.WriteLine()

    For Each elem As Integer In arr2
      Console.Write("{0}, ", elem)
    Next
    Console.WriteLine()
  End Sub
End Class
実行結果
0, 1, 0, 3, 4, 
0, 1, 5, 3, 4, 

このメソッドでは簡易コピーが行われるため、参照型を要素に持つ配列では参照のみがコピーされます。 そのため、ジャグ配列の複製を行うと、複製元と複製後のジャグ配列内における2段目以降はどちらも同一のインスタンスを参照する事になります。

Cloneメソッドと簡易コピーについてより詳しくはオブジェクトの複製で解説しています。

MENTAにてテキストチャットによるサポートを行っています。 問題の解決法をお探しの方や.NET/C#を学習中の方はどうぞご利用ください。