配列は、同じデータ型を持つ項目の順序付けされたコレクションです。配列内の項目にアクセスするには、配列名と、項目と配列の先頭の間のオフセットの両方を使用します。 Java と比較して、C# で C# 配列を宣言および使用する方法には、いくつかの重要な違いがあります。
1 次元配列
1 次元配列は、固定数の項目を線形に格納し、項目を識別するために必要なインデックス値は 1 つだけです。 C# では、配列宣言内の角括弧はデータ型の後に続く必要があり、Java では許可されている変数名の後に置くことはできません。したがって、整数型の配列は次の構文を使用して宣言する必要があります:
int[] arr1;
次の宣言は C# では無効です:
//int arr2[]; //compile error
配列を宣言した後、Java と同様に、new キーワードを使用してそのサイズを設定できます。次のコードは配列参照を宣言します。
int[] arr; arr = new int[5]; // create a 5 element integer array
1 次元配列内の要素には、Java と同じ構文を使用してアクセスできます。 C# 配列のインデックス付けも 0 から始まります。以下のコードは、上記の配列の最後の要素にアクセスします。
System.Console.WriteLine(arr[4]); // access the 5th element
初期化
C# 配列要素は、Java と同じ構文を使用して作成時に初期化できます:
int[] arr2Lines; arr2Lines = new int[5] {1, 2, 3, 4, 5}; Syue.com
ただし、C# 初期化子の数は、配列サイズ Java とは異なり、完全に一致します。この関数を使用すると、同じ行で C# 配列の宣言と初期化を行うことができます:
int[] arr1Line = {1, 2, 3, 4, 5};
この構文は、初期化子の数と同じサイズの配列を作成します。
プログラム ループでの初期化
C# で配列を初期化するもう 1 つの方法は、for ループを使用することです。次のループは、配列の各要素を 0 に設定します。
int[] TaxRates = new int[5]; for (int i=0; i< TaxRates.Length; i++) { TaxRates[i] = 0; }
ジャグ配列
C# と Java はどちらも、ギザギザ (非長方形) 配列、つまり、各行に異なる数の列が含まれる配列の作成をサポートしています。たとえば、次のギザギザ配列では、最初の行には 4 つの項目があり、2 番目の行には 3 つの項目があります:
nt[][] jaggedArray = new int[2][]; jaggedArray[0] = new int[4]; jaggedArray[1] = new int[3];
多次元配列
C# を使用して、値の行列に似た通常の多次元配列を作成できます。同じタイプの。 Java と C# は両方ともギザギザ配列をサポートしていますが、C# は多次元配列 (配列の配列) もサポートしています。
多次元長方形配列は、次の構文を使用して宣言されます:
int[,] arr2D; // declare the array reference float[,,,] arr4D; // declare the array reference
宣言後、次のように配列にメモリを割り当てることができます:
arr2D = new int[5,4]; // allocate space for 5 x 4 integers
その後、次の構文を使用して配列の要素にアクセスできます:
arr2D[4,3] = 906;
since C# の配列は 0 から始まるため、この行では 4 行目、5 列目の要素が 906 に設定されます。
初期化
次のいずれかのメソッドを使用して、同じステートメントで多次元配列を作成、設定、初期化できます:
int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} }; int[,] arr5 = new int [,] { {1,2,3}, {4,5,6} }; int[,] arr6 = { {1,2,3}, {4,5,6} };
さまざまな C# の定義と初期化に関連するその他の記事については、配列については、PHP 中国語ネットにご注意ください。