配列の仕組みを知る
PictureBox pb1 = new PictureBox();
PictureBox pb2 = new PictureBox();
PictureBox pb3 = new PictureBox();
PictureBox pb4 = new PictureBox();
PictureBox pb5 = new PictureBox();
↓
PictureBox[] pb = new PictureBox[5]
繰り返し文とともに配列(array)という機能を利用すると便利です。
オブジェクトや値をまとめて扱うには、配列を使う。
配列を準備する
配列の宣言と作成
型名[] 配列名;
配列名 = new 型名[要素数];
PictureBox[] pb; //配列名pbを宣言する
pb = new PictureBox[5]; //5個の配列要素をもつ配列を作成する
配列の宣言と作成
型名[] 配列名 = new 型名[要素数];
PictureBox[] pb = new PictureBox[5]
配列要素に値を代入する
pb[0] = new PictureBox();
pb[1] = new PictureBox();
…
[]内の0,1,2…という数値は添字といいます。添字を使って扱う要素を指定できるわけです。
//配列要素の数を得ることができます
for (int index = 0; index < pb.Length; index++)
{
//配列要素に1つずつオブジェクトを作成しています
pb[index] = new PictureBox();
}
配列を利用する
using System.Windows.Forms;
using System.Drawing;
namespace lesson4
{
class sample6
{
static void Main(string[] args)
{
Form fm = new Form(); //フォームを作成します。
fm.Text = "ようこそC#へ!"; //フォームのタイトルを設定します
PictureBox[] pb = new PictureBox[5]; //要素数5の配列を作成します
for (int index = 0; index < pb.Length; index++) //配列要素の数を得ることができます
{
pb[index] = new PictureBox(); //要素数文のオブジェクトを作成します
pb[index].Image = Image.FromFile("E:\\099_Technology\\C#\\csharp\\csharp_train\\lesson2\\google.JPG"); //画像を読み込みます
pb[index].Top = pb[index].Height * index; //添字を使って配列要素を扱うことができます
pb[index].Parent = fm;
}
Application.Run(fm); //フォームを指定して起動します
}
}
}
実行画面
配列に初期値を与える
using System.Windows.Forms;
using System.Drawing;
namespace lesson4
{
class sample7
{
static void Main(string[] args)
{
Form fm = new Form(); //フォームを作成します。
fm.Text = "ようこそC#へ!"; //フォームのタイトルを設定します
fm.Width = 300; fm.Height = 100;
Label lb = new Label();
lb.Width = fm.Width;
lb.Height = fm.Height;
//要素数3の配列を作成し、初期値を与えます
string[] str = new string[3] {"バスケットボール","バトミントン","サッカー" };
foreach (string s in str) //forecah文で配列要素を取り出すことができます
{
lb.Text += s + "\n";
}
lb.Parent = fm;
Application.Run(fm); //フォームを指定して起動します
}
}
}
実行画面
構文:値型の配列の初期化
型名 配列名 = new 型名[要素数]{値,値,値…};
構文:参照型による配列の初期化
型名 配列名 = new 型名[要素数]{new クラス名(), オブジェクト名, …};
かんたんに配列要素を取り出す
構文:foreach文
foreach( 変数名 in 配列名 )
{
変数を使った処理;
…
}
foreach (string s in str) //forecah文で配列要素を取り出すことができます
{
lb.Text += s + "\n";
}
foreach文を使って配列要素を1つずつ取り出すことができる。
コメント