一方、Array.Clearメソッドでは多次元配列をクリアすることも出来ますが、その際多次元配列は1次元配列の様に扱われます。 Array.Clearメソッドの引数に指定するインデックスは、多次元配列を1次元配列に展開したときの位置として解釈されるという点に注意が必要です。
Array.Clearメソッドで2次元配列をゼロクリアする
Imports System
Class Sample
Shared Sub Main()
Dim matrix As Integer(,) = { _
{0, 1, 2, 3}, _
{4, 5, 6, 7}, _
{8, 9, 10, 11} _
}
' 2次元配列の一部分をクリア
Array.Clear(matrix, 3, 4)
For d1 As Integer = 0 To matrix.GetLength(0) - 1
For d2 As Integer = 0 To matrix.GetLength(1) - 1
Console.Write("{0}, ", matrix(d1, d2))
Next
Console.WriteLine()
Next
End Sub
End Class
実行結果
0, 1, 2, 0, 0, 0, 0, 7, 8, 9, 10, 11,