使いどき
Unityでゲームを作っていると、複数のデータをまとめて管理したい場面が必ず出てきます。
例えば、
・敵キャラをまとめて保持したい
・アイテム名と個数を同時に管理したい
といった状況です。
このような場合に持ってこいなのが、 List(リスト) と Dictionary(辞書) です。
リストとは
リストとは、複数の要素を入れることのできる箱のようなものです。
この箱には様々な種類がありますが、その中でもリストは 中に入る要素の数を自由に変えることができる という特徴を持ちます。
リストの文法
事前準備
Unityでリストを使うには、スクリプトの先頭に以下の記述が必要です。
using System.Collections.Generic;
リストの宣言
リストを作る際は、以下のように書きます。
List<int> numbers = new List<int>();
//numbersというint型のリストを作成
要素の追加
リストに要素を追加する際は、以下のように書きます。
numbers.Add(10);
numbers.Add(20);
要素の削除
要素を消す際の記述です。
numbers.Remove(10);
//「10」という要素が削除される
要素数の取得
幾つの要素がリストに入っているかを知るには、このように書きます。
Debug.Log(numbers.Count);
//リストの名前に.Countをつける
辞書とは
辞書もリストと同じように、要素を入れることのできる箱の一種です。
辞書の特徴は、 各要素に好きな文字で名前を付けられる ことです。
辞書の文法
事前準備
辞書を使用したい場合、Unityではスクリプトの先頭に以下の記述をします。
これはリストの際に書くものと全く同じです。
using System.Collections.Generic;
辞書の宣言
辞書を作成する際は、以下のように書きます。
Dictionary<string, int> scores = new Dictionary<string, int>
//int型の要素に対し、string型で名前をつける
要素の追加
要素を追加する際の書き方です。
scores.Add("Alice", 100);
このコードは、「Aliceという名前の付いた『100』という値を追加する」という意味です。
要素の変更
要素を変えたい際の表記です。
scores["Bob"] = 150
「『Bob』という名前の付いた要素を『150』に変える」という意味です。
要素の参照
要素の値を確認したい場合は、以下のように書きます。
Debug.Log(scores["Alice"]);
「Alice」という名前の付いた要素を確認しています。