多次元配列を複製する場合の結果は1次元配列を複製する場合と同様で、長さ・次元数・格納される要素が同一の多次元配列が生成されます。
Array.Cloneメソッドで2次元配列の複製を作成する
using System;
class Sample {
static void Main()
{
int[,] matrix1 = {
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11},
};
int[,] matrix2;
// matrix1を複製してmatrix2に代入
matrix2 = (int[,])matrix1.Clone();
// 複製元と複製後の配列の要素を変更
matrix1[0, 0] = 99;
matrix2[0, 0] = -1;
// それぞれの配列の内容を表示
for (var d1 = 0; d1 < matrix1.GetLength(0); d1++) {
for (var d2 = 0; d2 < matrix1.GetLength(1); d2++) {
Console.Write("{0}, ", matrix1[d1, d2]);
}
Console.WriteLine();
}
Console.WriteLine();
for (var d1 = 0; d1 < matrix2.GetLength(0); d1++) {
for (var d2 = 0; d2 < matrix2.GetLength(1); d2++) {
Console.Write("{0}, ", matrix2[d1, d2]);
}
Console.WriteLine();
}
}
}
実行結果
99, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,