1次元配列から2次元配列へ複写する 言語: C# VB Copyメソッドでは次元数が異なる配列への複写が出来ないので、そういった場合はfor文・foreach文を使って要素を一つずつコピーする必要があります。 1次元配列から2次元配列へ複写する すべて選択してコピー ダウンロード 行番号を表示する using System; class Sample { static void Main() { // 複写元の1次元配列(長さが12) int[] matrix1 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, }; // 複写先の2次元配列(長さが4×3)を確保 var matrix2 = new int[3, 4]; // 配列を複写 for (var i = 0; i < matrix1.Length; i++) { int d1 = i / matrix2.GetLength(1); int d2 = i % matrix2.GetLength(1); matrix2[d1, d2] = matrix1[i]; } // 結果を表示 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(); } } } 実行結果 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 関連するページ インデックス範囲構文を使って部分配列を抽出する Array.Copyメソッドで配列を連結する Array.Copyメソッドで2次元配列を複写する Array.Copyメソッドで配列自身へ複写する Array.Copyメソッドで異なる型の配列へ複写する Array.CopyToメソッドを使って配列の内容を複写する Arrayクラスのメソッドを使って配列の作成と要素の取得・設定を行う (CreateInstance, GetValue, SetValue)