Copyメソッドでは次元数が異なる配列への複写が出来ないので、そういった場合はfor文・foreach文を使って要素を一つずつコピーする必要があります。
1次元配列から2次元配列へ複写する
Imports System
Class Sample
Shared Sub Main()
' 複写元の1次元配列(長さが12)
Dim matrix1 As Integer() = { _
0, 1, 2, 3, _
4, 5, 6, 7, _
8, 9, 10, 11 _
}
' 複写先の2次元配列(長さが4×3)を確保
Dim matrix2(2, 3) As Integer
' 配列を複写
For i As Integer = 0 To matrix1.Length - 1
Dim d1 As Integer = i \ matrix2.GetLength(1)
Dim d2 As Integer = i Mod matrix2.GetLength(1)
matrix2(d1, d2) = matrix1(i)
Next
' 結果を表示
For d1 As Integer = 0 To matrix2.GetLength(0) - 1
For d2 As Integer = 0 To matrix2.GetLength(1) - 1
Console.Write("{0}, ", matrix2(d1, d2))
Next
Console.WriteLine()
Next
End Sub
End Class
実行結果
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,