C# 配列 (配列)
目次
配列は、同じ型の要素を格納する固定サイズの順次コレクションです。配列は、データを格納するために使用されるコレクションであり、一般に、配列は同じ型の変数のコレクションと見なされます。
配列変数の宣言は、number0、number1、...、number99 の個々の変数を宣言するのではなく、numbers のような変数を宣言してから、numbers[0]、numbers[1]、...、numbers[99] を使用して個々を表します。変数。配列内の特定の要素は、インデックスによってアクセスされます。
すべての配列は、連続したメモリ位置で構成されています。最下位アドレスは最初の要素に対応し、最上位アドレスは最後の要素に対応します。
配列を宣言する
C# で配列を宣言するには、次の構文を使用できます。
datatype[] arrayName;
の、
- datatype は、配列に格納される要素のタイプを指定するために使用されます。
- [ ] は 、配列のランク (次元) を指定します。ランクは、配列のサイズを指定します。
- arrayName は、 配列の名前を指定します。
例えば:
double[] balance;
配列を初期化する
配列を宣言しても、メモリ内の配列は初期化されません。配列変数を初期化するときに、配列に割り当てることができます。
配列は参照型であるため、 new キーワードを使用して配列のインスタンスを作成する必要があります 。
例えば:
double[] balance = new double[10];
配列に代入
インデックス番号を使用して、個々の配列要素に割り当てることができます。次に例を示します。
double[] balance = new double[10];
balance[0] = 4500.0;
宣言中に配列に値を割り当てることができます。次に例を示します。
double[] balance = { 2340.0, 4523.69, 3421.0};
次のように、配列を作成して初期化することもできます。
int [] marks = new int[5] { 99, 98, 92, 97, 95};
上記の場合、次のように配列のサイズを省略することもできます。
int [] marks = new int[] { 99, 98, 92, 97, 95};
配列変数を別のターゲット配列変数に割り当てることもできます。この場合、宛先とソースは同じメモリ位置を指します。
int [] marks = new int[] { 99, 98, 92, 97, 95};
int[] score = marks;
配列を作成すると、C# コンパイラは各配列要素を配列型に基づいて既定値に暗黙的に初期化します。たとえば、int 配列のすべての要素は 0 に初期化されます。
配列要素にアクセスする
要素は、インデックス付き配列名でアクセスされます。これは、配列名の後に要素のインデックスを角括弧で囲むことによって行われます。例えば:
double salary = balance[9];
上記の 3 つの概念、つまり宣言、代入、および配列へのアクセスを使用した例を次に示します。
例
using System;
namespace ArrayApplication
{ class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n は 10 個の整数の配列 */ int i,j;
/* 配列 n の要素を初期化 */
for ( i = 0; i < 10; i++ )
{ n[ i ] = i + 100; }
/* 各配列要素の値を出力 */
for (j = 0; j < 10; j++ )
{ Console.WriteLine("Element[{0}] = {1}", j, n[j]); } Console.ReadKey(); } } }
上記のコードをコンパイルして実行すると、次の結果が生成されます。
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
foreach ループの使用
前の例では、for ループを使用して各配列要素にアクセスしました。foreach ステートメントを使用して、配列を反復処理することもできます 。
例
システムを使用する;
namespace ArrayApplication
{ class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n は 10 個の整数の配列です */
/* 配列 n の要素を初期化します*/
for ( int i = 0; i < 10; i++ )
{ n[i] = i + 100; }
/* 各配列要素の値を出力 */
foreach (int j in n )
{ int i = j-100; Console.WriteLine("Element[{0}] = {1}", i, j); } Console .ReadKey(); } } }
上記のコードをコンパイルして実行すると、次の結果が生成されます。
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
C# 配列の詳細
C# では、配列は非常に重要であり、詳細を知る必要があります。C# プログラマーが知っておく必要がある、配列に関連するいくつかの重要な概念を次に示します。
コンセプト | 説明 |
---|---|
多次元配列 | C# は多次元配列をサポートしています。多次元配列の最も単純な形式は 2 次元配列です。 |
ジャグ配列 | C# は、ジャグ配列、つまり配列の配列をサポートしています。 |
配列を関数に渡す | インデックスなしで配列名を指定することにより、配列へのポインターを関数に渡すことができます。 |
パラメータ配列 | これは、不明な数の引数を関数に渡すためによく使用されます。 |
配列クラス | System 名前空間で定義され、すべての配列の基本クラスであり、配列のさまざまなプロパティとメソッドを提供します。 |