🐘
C# 学習5日目 配列 一次元配列
作成日:
2023/01/11
0
C#学習5日目 配列 一次元配列
今回はC#の一次元配列です。
今回から最初で構文や要点を簡潔にまとめてきたいと思います。
int型の配列を作る
int[]は配列の型 array1は任意の配列名 = new int[要素数]
int[] array1 = new int[7];
string型の配列を作る
string[]は配列の型 stringArrayは任意の配列名 = new string[要素数]
string[] stringArray = new string[5];
配列に値を入れる
配列のインデックスを指定して代入する。順番を変えたり飛ばして入れても良い。
stringArray[0] = "その一";
stringArray[1] = "その二";
配列に初期値を設定する
{}で初期値を設定する 要素数は推論されるため記述しない
int[] array2 = new int[] { 1, 3, 5, 7 };
配列の要素数は生成時に決定される
phpの配列のような要素数の自由度はない
省略した記述も可能
int[] array2 = { 1, 3, 5, 7, 9 };
記述がばらけないようにコーディング規約は最初で決めておいたほうが良さそう
画像オブジェクトも扱える
→ 後述Sampleの例を参照
データをまとめる方法として類似したもの
リスト
コレクション
まだ先の学習になるため頭に入れておくだけにする
一次元配列の演習
「やさしいC#」を参考にした習作
・本棚一段の画像を配列を使って縦に5段並べる
・配列を使って文字列3つを画像の上に載せる
本棚一段の画像
(記事の画像アップフォーマット上、jpg画像を使っていますが実際はBMP画像を使用)
作成したソースコード
using System.Windows.Forms;
using System.Drawing;
class SampleArray
{
public static void Main()
{
Form fm = new Form();
fm.Text= "配列の学習";
//文字を配列に格納するサンプル(数値なども同様に適宜型を変えて利用できる)
//配列内容は一つのラベルに表示する
Label lb_comment = new Label();
lb_comment.Width = 250; lb_comment.Height= 90;
lb_comment.Left = 10; lb_comment.Top = 5;
lb_comment.Font = new Font("Helvetica", 10, FontStyle.Bold);
// 初期値を一行で入れ込む書き方
string[] str = new string[3] { "C#の学習本", "Unity開発の解説書", "魔法の書"};
foreach (string str2 in str)
{
lb_comment.Text += str2 + "\n";
}
//ラベルを透明にする
lb_comment.BackColor = Color.Transparent;
//lb_comment.Parent = fm;
// 書棚一段の画像を配列に格納するサンプル
PictureBox[] pbox = new PictureBox[5];
for (int i = 0; i < pbox.Length; i++)
{
pbox[i] = new PictureBox();
pbox[i].Image = Image.FromFile("F:\\images\\bookshelf.bmp");
pbox[i].Top = i * pbox[i].Height;
pbox[i].Width = 300;
pbox[i].Parent = fm;
}
//一番上の段にラベルを表示する
pbox[0].Controls.Add(lb_comment);
Application.Run(fm);
}
}
実行結果
おまけ ラベルの透明化
背景を透明にする指定
ラベル名.BackColor = Color.Transparent;
実はこれだけでは、ラベルの背景は、Formの下地色になってしまう。
これはラベルの親をFormにしているせいである。
ラベルの透かした部分を下の画像にしたい場合は・・・
画像オブジェクト.Controls.Add(ラベル名);
を追加すると良い。
以上の二つの使用例は上記習作ソースコードで確認できる。
これからゲームアプリとWindowsアプリを作りたい初心者です。
ゲームアプリとWindowsアプリ、共に経験ゼロです。
これからの体験が少しでも参考になれば幸いです。
目指す事
・C言語学習→C#学習
・Unity (C#) の勉強
・Unityゲーム作成
・Windowsアプリ(C#) 作成