C# で2次元リストを扱う方法【サンプルコード付き】
Cのリスト型は、プログラミングにおいて最も基本的なデータ構造の1つです。ただし、実際の開発では、1次元リストに限定することは稀で、多くの場合2次元リストや3次元リストを扱う必要があります。那麼、C#で2次元リストを扱う方法は何か。以下では、C#で2次元リストを宣言、生成、操作する方法について、サンプルコードを交えて説明します。
C で2次元リストを扱う方法【サンプルコード付き】
Cで2次元リストを扱うには、多くの方法があります。ここでは、一般的な方法として、配列やList、Dictionaryを使用した方法を紹介します。
① 配列を使用する方法
Cで2次元リストを扱う最も基本的な方法は、配列を使用する方法です。以下は、例えば2つの要素を持つ2次元リストを定義する例です。 csharp int[,] array2D = new int[2, 2]; array2D[0, 0] = 1; array2D[0, 1] = 2; array2D[1, 0] = 3; array2D[1, 1] = 4;
| 行 | 列 | 値 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 2 |
| 1 | 0 | 3 |
| 1 | 1 | 4 |
② List を使用する方法
Listを使用する方法は、動的な2次元リストを扱うことができます。以下は、例えば2つの要素を持つ2次元リストを定義する例です。 csharp List<List> list2D = new List<List>(); list2D.Add(new List { 1, 2 }); list2D.Add(new List { 3, 4 });
| 行 | 列 | 値 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 2 |
| 1 | 0 | 3 |
| 1 | 1 | 4 |
③ Dictionary を使用する方法
Dictionary を使用する方法は、キーと値を関連付けることができます。以下は、例えば2つの要素を持つ2次元リストを定義する例です。 csharp Dictionary<string, Dictionary> dict2D = new Dictionary<string, Dictionary>(); dict2D.Add(行0, new Dictionary { { 列0, 1 }, { 列1, 2 } }); dict2D.Add(行1, new Dictionary { { 列0, 3 }, { 列1, 4 } });
| 行 | 列 | 値 |
|---|---|---|
| 行0 | 列0 | 1 |
| 行0 | 列1 | 2 |
| 行1 | 列0 | 3 |
| 行1 | 列1 | 4 |
④ Jagged アレイを使用する方法
Jagged アレイを使用する方法は、配列の配列を定義することができます。以下は、例えば2つの要素を持つ2次元リストを定義する例です。 csharp int[][] jaggedArray = new int[][] { new int[] { 1, 2 }, new int[] { 3, 4 } };
| 行 | 列 | 値 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 2 |
| 1 | 0 | 3 |
| 1 | 1 | 4 |
⑤ クラスを使用する方法
クラスを使用する方法は、カスタムの2次元リストを定義することができます。以下は、例えば2つの要素を持つ2次元リストを定義する例です。 csharp public class MyClass { public int Value { get; set; } } List<List> list2D = new List<List>(); list2D.Add(new List { new MyClass { Value = 1 }, new MyClass { Value = 2 } }); list2D.Add(new List { new MyClass { Value = 3 }, new MyClass { Value = 4 } });
| 行 | 列 | 値 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 2 |
| 1 | 0 |
