C#配列
配列とは?
配列とは、同じ型の値をまとめて管理できるデータ構造です。
たとえば、複数の数値や文字列をひとつの変数のように扱えます。
- 配列は複数の変数をまとめて1つの変数にすることができます
- 配列には複数の要素があり、各要素には何かしらの値が入っています
- 配列の要素数のことを(配列の)長さといいます
- 1つの配列の要素はすべて同じ方にしなくてはいけません
- 配列の要素として文字列や整数など複数の型が含まれているのはNG
- 配列に含まれる要素に値を代入したり、値を使うときは添字を使用して要素を指定します
- 添え字は0から始まります
- 1からではありません
- 2番目の要素の添え字は1になります
- 添字はindexとも呼ばれれます
- 添え字は0から始まります
- 配列の要素数は宣言時にきまり、後から要素数を変えることはできません

配列の宣言
1. 配列のサイズだけを宣言
データ型[] 配列名 = new データ型[要素数];
int[] data = new int[5];
要素数は5で要素の型がintの配列を宣言しています。配列のサイズだけ宣言しているので全ての要素の値は0です。
※0なのはintの既定値
2. 初期値を指定した宣言
データ型[] 配列名 = { 要素1, 要素2, ... };
int[] data = { 1, 2, 3, 4, 5 };
配列の宣言と初期化をまとめることができます。
この構文では、{..}で指定された要素の個数が、そのまま配列の要素数となります。
1つの要素数が長い場合は改行することもできます。
string[] names = {
"一郎",
"二郎",
"三郎",
"四郎",
"五郎",
};
末尾の要素はカンマ,で終えても構いません。
配列へのアクセス
宣言した配列の要素には、ブラケット構文([...])でアクセスすることができます。
int[] data = { 1, 2, 3, 4, 5 };
Console.WriteLine(data[0]); // 「1」と出力される
ブラケット構文を使用することで、要素の値を書き換えることもできます。
data[1] = 10; // 2番目の要素の値「2」を「10」に書き換える
配列は要素を追加することはできないので、インデックスの上限を超えてアクセスしようとするとIndexOutOfRangeException例外が発生します。
data[5] = 50;
IndexOutOfRangeException: Index was outside the bounds of the array.
配列の要素数を検索したい場合はLengthプロパティを使用します。
配列名.Length;
Console.WriteLine(data.Length); // 「5」と出力される
※配列はArrayクラスの機能を引き継いでいます。詳細はArray クラスのドキュメントを確認してください。
課題
C#入門編4:配列の基礎
参考
「独習 C#」2.5.3 配列型