【C#入門】2次元配列を1次元配列に変換する方法をわかりやすく解説
C#で2次元配列を1次元配列に変換するには?
プログラミングでは、2次元配列のデータを1次元配列として扱いたい場面がよくあります。C#では、ネストしたforループとカウンタ変数を組み合わせることで、2次元配列の全要素を1次元配列へ簡単にコピーできます。本記事では、その具体的な手順とサンプルコードを解説します。
手順1:2次元配列と1次元配列を宣言する
まず、変換元となる2次元配列と、変換先となる1次元配列を用意します。
int[] a = new int[2, 2] {{1,2}, {3,4}};
int[] b = new int[4];ここでのポイントは、1次元配列のサイズを「行数 × 列数」で指定することです。この例では 2 × 2 = 4 となるため、要素数4の配列を宣言しています。
手順2:ループで要素を順番にコピーする
続いて、二重のforループを使って、2次元配列の各要素を先頭から順に1次元配列へ格納していきます。
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
b[k++] = a[i, j];
}
}b[k++] と書くことで、代入後にカウンタ変数 k が自動的にインクリメントされ、コードを簡潔に保てます。
完全なサンプルコード
以下は、C#で2次元配列を1次元配列に変換する完全なコード例です。
Example
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Program {
class twodmatrix {
static void Main(string[] args) {
int[] a = new int[2, 2] {
{
1,
2
},{
3,
4
}
};
int i, j;
int[] b = new int[4];
int k = 0;
Console.WriteLine("Two-Dimensional Array...");
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i, j]);
}
}
Console.WriteLine("One-Dimensional Array...");
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
b[k++] = a[i, j];
}
}
for (i = 0; i < 2 * 2; i++) {
Console.WriteLine("{0}\t", b[i]);
}
Console.ReadKey();
}
}
}実行結果
Two-Dimensional Array... a[0,0] = 1 a[0,1] = 2 a[1,0] = 3 a[1,1] = 4 One-Dimensional Array... 1 2 3 4
ポイント解説
- 行優先(Row-major)の順序で格納される:外側のループが行、内側のループが列を担当するため、要素は「1 → 2 → 3 → 4」の順に1次元配列へコピーされます。
- カウンタ変数で簡潔に書ける:
b[k++]のように後置インクリメントを使えば、代入とインデックス更新を1行で処理できます。 - 応用しやすい構造:配列サイズを
a.GetLength(0)やa.GetLength(1)で取得すれば、任意のサイズの2次元配列にも同じロジックを適用できます。
-
JavaScriptで配列をセット(Set)に変換する方法|new Set()の使い方を解説
JavaScriptでは、new Set() コンストラクタを使うことで、配列を簡単にセット(Setオブジェクト)へ変換できます。セットは同じ値を自動的に1つだけ保持する性質を持つため、配列から重複した要素を取り除きたい場合にも非常に便利です。 配列をセットに変換するサンプルコード 以下は、ボタンをクリックすると配列がセットに変換されて表示される、完全なHTMLサンプルです。 <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport co
-
【Android】配列をArrayListに変換する方法をサンプルコード付きで解説
このチュートリアルでは、Androidアプリ開発において配列(Array)をArrayListに変換する方法を、実際のサンプルコードとともにわかりやすく解説します。 配列からArrayListへの変換の基本 Javaでは、Arrays.asList()メソッドを使うことで、配列をリスト形式に変換できます。さらに、その結果をArrayListのコンストラクタに渡すことで、要素の追加や削除が自由に行える本格的なArrayListとして扱えます。 String[] array = new String[]{ANDROID, JSP, JAVA, STRUTS, HADOOP, JSF}; Arra