C#配列

C#配列

配列とは?

配列とは、同じ型の値をまとめて管理できるデータ構造です。
たとえば、複数の数値や文字列をひとつの変数のように扱えます。

  1. 配列は複数の変数をまとめて1つの変数にすることができます
  2. 配列には複数の要素があり、各要素には何かしらの値が入っています
  3. 配列の要素数のことを(配列の)長さといいます
  4. 1つの配列の要素はすべて同じ方にしなくてはいけません
    • 配列の要素として文字列や整数など複数の型が含まれているのはNG
  5. 配列に含まれる要素に値を代入したり、値を使うときは添字を使用して要素を指定します
    • 添え字は0から始まります
      • 1からではありません
      • 2番目の要素の添え字は1になります
    • 添字はindexとも呼ばれれます
  6. 配列の要素数は宣言時にきまり、後から要素数を変えることはできません

配列の宣言

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 配列型