[C#] 配列の宣言・初期化・利用

このページのタグ:[C#] [C# 配列]
C#で配列を宣言し初期化して配列を使用するコードを紹介します。

概要

配列とは変数をまとめて管理するための仕組みです。添え字により任意の順番(場所)の変数にアクセス可能です。

配列の宣言

配列の宣言は
型名[] 配列変数名;
とします。


  int[] IDList;
IDListという名称のint型の配列を宣言します。


  string[] NameList;
NameList という string型の配列を宣言します。

配列の初期化

配列の初期化は
配列変数名 = new 型名[配列数]
とします。


  IDList = new int[100];
IDList配列を配列長100で初期化します。


  NameList = new string[25];
NameList配列を配列長25で初期化します。

参考

配列宣言と初期化を同じ行で記述できます。

  int[] array = new int[5];
上記の例では整数型の配列を定義し、長さ5の配列長で初期化します。

配列へのアクセス

配列へのアクセスは
変数名[配列番号]
となります。
array[0] = 10;
上記のコードは配列arrayの0番目の要素に10を代入します。

配列を用いることのメリット

配列を用いると添え字によりアクセスが可能なため、ループ処理などでまとめて処理をすることができます。

初期化時の値の代入

配列初期化時に値を代入することもできます。書式については「[C#] 配列の初期化時に値を代入する」を参照してください。

実行時の配列の長さの変更

C#では配列は定義時に長さを決定せず、実行時にnewにより配列の長さを決定するため、実行時に配列の長さを変更できます。コードの記述の詳細は「[C#] 動的配列を利用する (実行時に配列のサイズを変更する)」の記事を参照してください。

関連する操作

プログラム

UI

下図のUIを作成します。Buttonと複数行のTextBoxを配置します。

コード

下記のコードを記述します。

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ArrayDemo
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      int[] array = new int[5];
      array[0] = 10;
      array[1] = 5;
      array[2] = 8;
      array[3] = 2;
      array[4] = 4;

      for (int i=0; i < array.Length; i++) {
        textBox1.Text += "value["+i.ToString()+"] " + Convert.ToString(array[i])+"\r\n";
      }
    }
  }
}

解説


  int[] array = new int[5];
上記コードで配列を宣言します。配列のサイズは5になります。(0~4の添え字まで利用可能)


  array[0] = 10;
  array[1] = 5;
  array[2] = 8;
  array[3] = 2;
  array[4] = 4;
配列に値を代入します。


  for (int i=0; i < array.Length; i++) {
    textBox1.Text += "value["+i.ToString()+"] " + Convert.ToString(array[i])+"\r\n";
  }
配列の値をTextBoxに出力します。"value[n] (値)" の形式で配列に代入された値を表示しています。

補足

配列初期化時に値を代入する書式で記述した下記のコードでも全く同じ動作となります。

private void button1_Click(object sender, EventArgs e)
{
  int[] array = new int[5] {10,5,8,2,4};

  for (int i=0; i < array.Length; i++) {
    textBox1.Text += "value["+i.ToString()+"] " + Convert.ToString(array[i])+"\r\n";
  }
}

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。


[button1]をクリックします。テキストボックスに結果が表示されます。配列の値がテキストボックスに出力できています。

プログラム2 (foreach の利用)

すべての配列の要素に対して処理をする場合は、foreach文が利用できます。

UI

下図のUIを作成します。Buttonと複数行のTextBoxを配置します。

コード

下記のコードを記述します。

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ArrayDemo
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void button8_Click(object sender, EventArgs e)
    {
      string[] array = new string[5] { "Penguin", "Bear", "Whale", "Camel", "Ostrich" };

      foreach (string value in array) {
        textBox1.Text += "value: " + value + "\r\n";
      }
    }
  }
}

解説


  string[] array = new string[5] { "Penguin", "Bear", "Whale", "Camel", "Ostrich" };
上記コードにより、配列を宣言し値を代入します。


  foreach (string value in array) {
    textBox1.Text += "value: " + value + "\r\n";
  }
foreach文により、配列の要素をループします。配列の要素すべてに対し、ループ内の処理が1度実行されます。

実行結果

プログラムを実行します。下図のウィンドウが表示されます。


ボタンをクリックします。テキストボックスに結果が表示されます。配列の値が表示できていることがわかります。



登録日 :2010-12-28    最終更新日 :2016-07-21
このページのタグ:[C#] [C# 配列]
Japanese
プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)