C# 配列の定義と初期化

高洛峰
リリース: 2016-12-16 14:32:50
オリジナル
2455 人が閲覧しました

配列は、同じデータ型を持つ項目の順序付けされたコレクションです。配列内の項目にアクセスするには、配列名と、項目と配列の先頭の間のオフセットの両方を使用します。 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; // 配列参照を宣言します

After配列にメモリを割り当てます:


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 サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート