配列

 複数のデータを扱うときに、変数では不便に感じる場合があります。配列を使えば、複数のデータをまとめて扱うことができるようになります。配列は、変数をまとめて管理することができます。

 例えば、10人分のテストの点数の合計点、平均点、最大点、最低点などを求めるプログラムを作るとします。10人分の点数を変数に記憶させて扱おうとする場合10個の変数を用意しなければなりません。配列なら10人分の点数をまとめて扱うことができます。

複数の変数のイメージ
複数の変数のイメージ

配列のイメージ
配列のイメージ

 配列は次のように宣言して用意します。

配列宣言の書式
データ型[] 配列名 = new データ型[要素数指定];

○ プロジェクト

 次のようにプロジェクトを作成してください。今回は、プログラムの入力のみを試します。実行してもメッセージ等は表示されません。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 ArrayTest1

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //配列の宣言
  4.  int[] ary = new int[4];
  5. }

○ 解説

 14行目では整数値を4つ保存できる「ary」という名前の配列を用意しました。次のようなイメージで配列ができます。

配列の宣言
配列の宣言

 配列を構成する一つ一つの変数は要素と呼ばれます。また要素にはインデックス番号が割り当てられます。インデックス番号(添字とも言う)は0から始まるので、指定した数より一つ少ないインデックス番号が最大となります。各要素にはインデックス番号が付くため、それぞれの要素を指定してデータを代入することができます。

配列代入の書式
配列名[インデックス番号] = ;

○ プロジェクト

 次のようにプロジェクトを作成してください。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 ArrayTest2

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //配列の宣言
  4.  int[] ary = new int[4];
  5.  //配列にデータを代入
  6.  ary[2] = 100;
  7.  //配列を表示
  8.  Console.WriteLine(ary[0]);
  9.  Console.WriteLine(ary[1]);
  10.  Console.WriteLine(ary[2]);
  11.  Console.WriteLine(ary[3]);
  12.  Console.ReadLine();
  13. }

○ 実行結果

0
0
100
0

○ 解説

 17行目では配列のインデックス番号「2」番の要素に「100」を代入しています。他の要素は配列が用意されたときに設定される初期化の状態(0)のままです。

配列に代入
配列に代入

 20~23行目は配列の各インデックス番号を指定して要素に格納されているデータを表示しています。

 配列は、変数と同じように宣言と同時にデータの代入をすることができます。これを初期化といいます。

配列初期化の書式
データ型 [] 配列名 = new データ型[要素数指定]{ 値1, 値2, };
データ型 [] 配列名 = new データ型[]{ 値1, 値2, };
データ型 [] 配列名 = { 値1, 値2, };

○ プロジェクト

 次のようにプロジェクトを作成してください。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 ArrayTest3

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //配列の初期化
  4.  int[] ary = { 10, 20, 30, 40 };
  5.  //配列を表示
  6.  Console.WriteLine(ary[0]);
  7.  Console.WriteLine(ary[1]);
  8.  Console.WriteLine(ary[2]);
  9.  Console.WriteLine(ary[3]);
  10.  Console.ReadLine();
  11. }

○ 実行結果

10
20
30
40

○ 解説

 14行目では配列の宣言と同時に値を格納しています。初期化の場合は配列の要素数を指定する必要はありません。中かっこ({})で、カンマ区切りで指定した値の分だけ要素が用意されます。そして、用意された各要素に指定した順番に値が格納されます。

配列に初期化
配列に初期化

 配列の要素数がいくつあるかを調べることができます。

配列の要素数取得の書式
配列名.Length

○ プロジェクト

 次のようにプロジェクトを作成してください。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 ArrayLengthTest

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. static void Main(string[] args)
  2. {
  3.  //配列の宣言
  4.  string[] fruits = {"りんご", "ばなな", "みかん"};
  5.  //配列の要素数を表示
  6.  Console.WriteLine("要素数: {0}", fruits.Length);
  7.  //配列の中身を表示
  8.  Console.WriteLine(fruits[0]);
  9.  Console.WriteLine(fruits[1]);
  10.  Console.WriteLine(fruits[2]);
  11.  Console.ReadLine();
  12. }

○ 実行結果

要素数: 3
りんご
ばなな
みかん

○ 解説

 17行目で配列の要素数を表示しています。配列は次の章で学習する繰り返し処理と組み合わせるととても便利です。繰り返す回数を決めるときに配列の要素数を使用することができます。そうすることで柔軟なプログラムを作成することが可能です。

前へ   次へ