C# 多次元配列
C# 多次元配列
このチュートリアルでは、2 次元配列の例を使用して C# の多次元配列について学習します。
多次元配列について学ぶ前に、C# の 1 次元配列について知っておきましょう。
多次元配列では、配列の各要素も配列です。たとえば、
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
ここで、x {1, 2, 3} の 2 つの要素を持つ多次元配列です。 と {3, 4, 5} .また、配列の各要素も 3 の配列です
C# の 2 次元配列
2 次元配列は、その要素として 1 次元配列で構成されます。特定の数の行と列を持つ表として表すことができます。
<図>ここでは、行 {1, 2, 3} と {3, 4, 5} 2D 配列の要素です。
1.二次元配列宣言
C# で 2D 配列を宣言する方法は次のとおりです。
int[ , ] x = new int [2, 3];
ここで、x 2 の 2 次元配列です 要素。また、各要素も 3 の配列です
したがって、配列全体で 6 を格納できます 要素 (2 * 3 ).
注:単一のコンマ [ , ] は、配列が 2 次元であることを表します。
2.二次元配列の初期化
C# では、宣言中に配列を初期化できます。たとえば、
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
ここで、x {1, 2, 3}
の 2 つの要素を持つ 2D 配列です と {3, 4, 5}
.配列の各要素も配列であることがわかります。
初期化中に行数と列数を指定することもできます。たとえば、
int [ , ] x = new int[2, 3]{ {1, 2, 3}, {3, 4, 5} };
3. 2D 配列から要素にアクセス
インデックス番号を使用して、2D 配列の要素にアクセスします。たとえば、
// a 2D array
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
// access first element from first row
x[0, 0]; // returns 1
// access third element from second row
x[1, 2]; // returns 5
// access third element from first row
x[0, 2]; // returns 3
<図> 例:C# 2D 配列
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
//initializing 2D array
int[ , ] numbers = {{2, 3}, {4, 5}};
// access first element from the first row
Console.WriteLine("Element at index [0, 0] : "+numbers[0, 0]);
// access first element from second row
Console.WriteLine("Element at index [1, 0] : "+numbers[1, 0]);
}
}
}
出力
Element at index [0, 0] : 2 Element at index [1, 0] : 4
上記の例では、numbers という名前の 2D 配列を作成しました。 行 {2, 3} あり と {4, 5} .
ここでは、インデックス番号を使用して 2D 配列の要素にアクセスしています。
numbers[0, 0]
- 最初の行から最初の要素にアクセスします (2 )numbers[1, 0]
- 2 行目の最初の要素にアクセスします (4 )
配列要素の変更
2 次元配列の要素を変更することもできます。要素を変更するには、その特定のインデックスに新しい値を割り当てるだけです。たとえば、
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ , ] numbers = {{2, 3}, {4, 5}};
// old element
Console.WriteLine("Old element at index [0, 0] : "+numbers[0, 0]);
// assigning new value
numbers[0, 0] = 222;
// new element
Console.WriteLine("New element at index [0, 0] : "+numbers[0, 0]);
}
}
}
出力
Old element at index [0, 0] : 2 New element at index [0, 0] : 222
上記の例では、インデックス [0, 0] の初期値 2 です .行に注意してください、
// assigning new value
numbers[0, 0] = 222;
ここでは、新しい値 222 を割り当てています インデックス [0, 0] .現在、インデックス [0, 0] の値 2 から変更されました 222まで .
ループを使用した C# 配列の反復
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ , ] numbers = { {2, 3, 9}, {4, 5, 9} };
for(int i = 0; i < numbers.GetLength(0); i++) {
Console.Write("Row "+ i+": ");
for(int j = 0; j < numbers.GetLength(1); j++) {
Console.Write(numbers[i, j]+" ");
}
Console.WriteLine();
}
}
}
}
出力
Row 0: 2 3 9 Row 1: 4 5 9
上記の例では、ネストされた for ループを使用して、2D 配列の要素を反復処理しました。ここで、
numbers.GetLength(0)
- 2D 配列の行数を返しますnumbers.GetLength(1)
- 行の要素数を与える
注意 :3D 配列も作成できます。技術的には、3D 配列は、要素として複数の 2 次元配列を持つ配列です。たとえば、
int[ , , ] numbers = { { { 1, 3, 5 }, { 2, 4, 6 } },
{ { 2, 4, 9 }, { 5, 7, 11 } } };
ここでは、[ , , ]
(2 つのコンマ) は 3D 配列を示します。
C言語