配列は、同じデータ型を持つ項目の順序付けされたコレクションです。配列内の項目にアクセスするには、配列名と、項目と配列の先頭の間のオフセットの両方を使用します。 C# で配列を宣言して使用する方法には、Java とはいくつかの重要な違いがあります。
1 次元配列
1 次元配列は、固定数の項目を線形に格納し、項目を識別するために必要なインデックス値は 1 つだけです。 C# では、配列宣言内の角括弧はデータ型の後に続く必要があり、Java では許可されている変数名の後に置くことはできません。したがって、整数型の配列は次の構文を使用して宣言する必要があります:
int[] arr1;
次の宣言は C# では無効です:
//int arr2[]; //コンパイル エラー
配列を宣言した後、new キーワードを使用してそのサイズを設定できます。これは Java と同じです。次のコードは配列参照を宣言します:
int[] arr;
arr = new int[5]; // 5 要素の整数配列を作成します
その後、同じ構文を使用して 1 次元配列にアクセスできます。 Java要素として。 C# 配列のインデックス付けも 0 から始まります。次のコードは、上記の配列の最後の要素にアクセスします。
System.Console.WriteLine(arr[4]); // 5 番目の要素にアクセスします
初期化
C# 配列要素は Java を使用して作成できます。初期化の構文:
int[] arr2Lines;
arr2Lines = new int[5] {1, 2, 3, 4, 5};
ただし、C# 初期化子の数は配列と一致する必要があります。サイズは正確に一致します。 、Javaとは異なります。この関数を使用すると、同じ行で C# 配列の宣言と初期化を行うことができます:
int[] arr1Line = {1, 2, 3, 4, 5};
この構文は、同じサイズの配列を作成します。初期値に設定された固定項目数です。
プログラム ループでの初期化
C# で配列を初期化するもう 1 つの方法は、for ループを使用することです。次のループは、配列の各要素をゼロに設定します:
int[] TaxRates = new int[5];
for (int i=0; i
TaxRates [i ] = 0;
}
インターリーブ配列
C# と Java は両方とも、インターリーブ (非長方形) 配列、つまり、各行に異なる数の列を含む配列の作成をサポートしています。たとえば、次のギザギザ配列では、最初の行には 4 つの項目があり、2 番目の行には 3 つの項目があります。 [4];
jaggedArray[1] = new int[3];
多次元配列
C# を使用して通常の多次元配列を作成できます。多次元配列は、同じ種類の値の行列に似ています。 。 Java と C# は両方ともギザギザ配列をサポートしていますが、C# は多次元配列 (配列の配列) もサポートしています。
int[,] arr2D; // 配列参照を宣言します
float[,,,] arr4D; // 配列参照を宣言します
arr2D = new int[5,4] // 5 x 4 整数にスペースを割り当てます
その後、次の構文:
arr2D[4 ,3] = 906;
配列はゼロベースであるため、この行は 4 行目 5 列目の要素を 906 に設定します。
初期化
次のいずれかのメソッドを使用して、同じステートメントで多次元配列の作成、設定、初期化を行うことができます:
int[,] arr4 = new int [2,3] { {1,2, 3}, {4,5,6} };
int[,] arr5 = 新しい int [,] { {1,2,3}, {4,5,6} };
int[,] arr6 = { {1, 2,3}, {4,5,6} };
C# 配列の定義と初期化に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。