ホームページ  >  記事  >  バックエンド開発  >  さまざまな C# 配列の定義と初期化

さまざまな C# 配列の定義と初期化

高洛峰
高洛峰オリジナル
2016-12-16 14:36:431372ブラウズ

配列は、同じデータ型を持つ項目の順序付けされたコレクションです。配列内の項目にアクセスするには、配列名と、項目と配列の先頭の間のオフセットの両方を使用します。 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 中国語ネットにご注意ください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。