13. 配列
13.1 配列
int型の配列aを作成します。
int[] a = new int[3];
配列内の値の取得
作成した配列から値を取得します。
int[] a = { 1, 2, 3, 4, 5 };
for(int i = 0; i < 5; ++i)
{
Debug.Log(a[i]);
}
配列の長さの取得
配列の長さを取得します。
int[] a = { 1, 2, 3, 4, 5 };
Debug.Log(a.Length);
配列数の追加と値の代入
配列の数を増やして、値を入れます。
int[] a = { 1, 2, 3, 4, 5 };
Array.Resize(ref a, 5);
numbers[5] = 6;
for(int i = 0; i < a.Length; ++i)
{
Debug.Log(a[i]);
}
動的配列
配列の数をあらかじめ決めるのではなく、求められた数に応じて配列の数を増減させる動的配列があります。Unityの場合はListコレクションやLinqなどを使います。以下の例は既にあるListコレクションに値を追加するスクリプトです。
List<int> numbers = new List<int> { 1, 2, 3 };
numbers.Add(4);
13.2 多次元配列
例としてint型の三次元配列aを作成します。
int[,,] a = new int[3,4,2];
int[,,] a = new int[3,4,2];
for(int i = 0; i < a.GetLength(0); ++i)
{
for(int j = 0; j < a.GetLength(1); ++j)
{
for(int k = 0; k < a.GetLength(2); ++k)
{
a[i,j,k] = i + j + k;
}
}
}
13.3 連想配列
連想配列はキーに基づいて値を取得する配列です。辞書型配列とも呼ばれます。
Dictionary<string, int> dic = new Dictionary<string, int>(){
{a, 1},
{b, 2},
{c, 3},
};
foreach(string key in dic.Keys) {
Debug.Log("キーは" + key + "です。);
}
連想配列dicのキーaの値を出力します。
Debug.Log("キーaの値は" + dic[a] + "です。");