配列とは、沢山の値をまとめてしまっておくタンスのようなものです。
配列のメリットは、同じカテゴリーの値をまとめてしまって管理しやすくしたり、ソートしたりできることです。
例えば、月曜日〜日曜日といった値を、配列weekにしまっておけば曜日を1つの配列で管理できます。
## 配列の宣言
配列の宣言とは、配列の型名と配列名を決めることです。
型名[] 配列名;
型名を書き、そのあとに[]を書くことで、配列の型を指定できます。
型名[]のあとに、書いた文字が配列名になります。
型名[]と配列名;を指定したことで、配列の宣言ができました。
using static System.Console;
class Test
{
static void Main()
{
string[] kago;
}
}
string[]
stringのあとに、[]を書き、配列の型にstringを指定します。
kago;
string[]のあとにkago;と書くことで、配列名にkagoを指定します。
これで配列kagoの宣言ができました。
## 配列の初期化
配列の初期化とは、メモリ上に配列をつくりそれを変数(配列名)に代入することです。
C#の配列はオブジェクトとして実装されているので、初期化するには
1. new演算子を使ってメモリ上に配列のオブジェクトをつく
2. そのオブジェクトを配列変数に代入する
といった手順をふむ必要があります。
// 配列の宣言
型名[] 配列名;
// 配列の初期化
配列名 = new 型名[配列の要素の数];
配列の初期化をしたい配列名を書きます。
配列は参照型なのでメモリを確保してそこに配列をつくらなければいけません。
new演算子を書くことで配列をつくるためのメモリを確保します。
配列名で指定した配列の型名を書き、[]内に配列に入れておける要素の数を指定します。
[]の中に3と書いたら要素が3つの配列ができます。
代入演算子を書き、右辺のnewと型名[配列の要素の数];でメモリ上につくった要素の数を指定した配列を、左辺の配列名に代入します。
これで配列の初期化ができました。
using static System.Console;
class Test
{
static void Main()
{
string[] kago;
kago = new string[3];
}
}
初期化する配列に配列kagoを指定します。
new演算子を書いて、string[3]配列をメモリ上につくります。
配列kagoはstring型なので、string型を指定し、[]の中に3と書きます。
これにより、要素が3つのstring型の配列がメモリ上につくられました。
右辺のnew string[3];を左辺のkagoに代入します。
これで、配列kagoにメモリ上につくられた、要素が3つのstring型の配列が代入され、配列kagoの初期化ができました。
## 配列の宣言と初期化を同時にする
配列の宣言と初期化は同時にすることができ、1文で書くことができます。
型名[] 配列名 = new 型[配列の要素の数]
配列の型名と配列名を指定して、配列の宣言をします。
要素数を指定した配列をメモリ上につくり、型名[] 配列名に代入して、配列の初期化をします。
これで、配列の宣言と初期化を同時にすることができました。
using static System.Console;
class Test
{
static void Main()
{
string[] kago = new string[3];
}
}
string型の配列kagoを宣言します。
メモリ上につくった要素の数が3のstring型の配列を、配列kagoに代入します。
これで、配列kagoの宣言と初期化が同時にできました。
## 配列の要素に値を代入と取得
配列を初期化しただけでは、配列は空っぽです。
配列には値を代入しないといけません。
### 配列の要素に値を代入
配列の要素に値を代入するには添字を使います。
添字とは、配列がタンスだとすると、タンスの引き出しの番号のようなものです。
配列を初期化すると、要素に0から順番に番号が割り振られます。
例えば以下の配列の初期化をした場合、配列にはstring型の3つの要素がつくられます。
string[] kago = new string[3];
– 1つ目の要素の添字(引き出しの番号)は0
– 2つ目の要素の添字(引き出しの番号)は1
– 3つ目の要素の添字(引き出しの番号)は2
が割り振られます。
配列に値を代入するときに、要素の添字(引き出しの番号)を指定することで、その要素に代入することができます。
### 配列の要素の値を取得
配列の要素の値を取得するときも、要素の添字(引き出しの番号)を指定しすることで取得できます。
// 配列の宣言と初期化
配列名 = new 型名[配列の要素の数];
// 配列の要素に値を代入
配列名[添字] = 値;
// 配列の要素の値を取得
Write(配列名[添字]);
値を代入したい配列名を書き、[]の中に値を代入したい要素の添字を書きます。
これで、指定した添字の要素に値を代入できます。
代入したい値を指定します。
代入できる値は、配列の型と同じ型です。
取得したい配列名を書き、[]の中に取得したい要素の添字を書きます。
これで、指定した添字の要素を取得できます。
using static System.Console;
class Test
{
static void Main()
{
string[] kago = new string[3];
kago[0] = "イチゴ";
Write(kago[0]);
}
}
イチゴ
要素の数が3の配列kagoの宣言と初期化をします。
kagoのあとに[0]と書き、配列kagoの添字0を指定します。
=(代入演算子)のあとに”イチゴ”;と書き、配列kagoの添字0にイチゴを代入します。
Write()関数のパラメーターに配列kagoの添字0を指定することで、添字0の要素の値を取得し表示します。