UnityでListを使いたい

  • 30
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

List構造で何かを管理したいときに配列やArraryList,type[]とかあるがここでは List<> を使う用法を紹介する。

using System.Collections.Generic;

なんとこれを冒頭に入れないとList<>は使えない。入れると

private List<GameObject> myList = new List<GameObject>();

というように宣言できる。intやfloatをリスト管理したい場合は

private List<int> intList = new List<int>();    //int型のリスト
private List<float> floatList = new List<float>();  //float型のリスト

のように書いてやれば良い。
使う際は

myList.Add(newObj1);    //GameObject型 newObj1をmyListに加える
GameObject newObj2 = myList[0]; //Listへのアクセス
myList.RemoveAt(0); //Listの0番目の要素を消す
myList.Clear(); //Listすべての要素を削除

要素はAddで加える。アクセスは配列のように行える。要素の削除はRemoveAtで行えるのだが、なんとこれは削除した要素より後ろの要素を前詰めしてくれる。素晴らしい。例えば

List<int> intList = new List<int>();
intList.Add(1); // intList = {1}
intList.Add(2); // intList = {1,2}
intList.Add(3); // intList = {1,2,3}
intList.RemoveAt(1);    // intList = {1,3}
int b = intList[1]; // bには3が入る

とういことが出来る。