Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9551

UnityでListを使ってみよう

$
0
0

今回はUnityでListを使ってみたいと思います。

Listは配列と近いイメージですが、
要素数を気にすることなく、要素の追加、削除など配列ではできない処理ができます。

動的に値を変更できるので「動的配列」とも言われます。
では早速見ていきましょう。

Listの定義

まずはListの定義からです。

例えば、int型の要素を格納するListを作りたい場合、以下の様に定義します。

List<int>list=newList<int>();//int型のListを定義

配列では、定義時に長さを指定する必要がありますが、Listはその必要がありません。

Listは最初このように宣言し、後から要素の出し入れをします。

どの型を指定するかは、<>の中に記述します。

配列型も指定することができます。

List<int[]>list=newList<int[]>();

Listに要素を追加する

Listに要素を追加していく方法です。

Addメソッドを使う

シンプルに要素を1つずつ入れていく方法です。

List<int>list=newList<int>();list.Add(10);list.Add(20);list.Add(40);

AddRangeメソッドで配列の要素を入れる

配列の中身を全て追加することができます。

List<int>list=newList<int>();int[]a={10,20,340};//int型配列list.AddRange(a);

Listの要素を取得

正しく値が追加できたか確認するために、Listの中身の取得します。

List<int>list=newList<int>();list.Add(3);list.Add(2);list.Add(4);int[]a={10,20,340};list.AddRange(a);Debug.Log("Listの0番目の値は"+list[0]);// 0番目の値は3Debug.Log("Listの長さは"+list.Count);// 長さは6

list[0]とするとListの0番目の値を取得できます。これは配列と同じですね。

list.Countとすることで、要素数を取得できます。

またListの全ての要素を順番に取得したい場合は、ループ文を使えばできます。

for(inti=0;i<list.Count;i++){Debug.Log(list[i]);}

Listから要素を削除

Listから要素を削除するやり方についてです。

Removeメソッド

特定の要素をListから削除します。

List<int>list=newList<int>();list.Add(3);list.Add(10);list.Add(4);int[]a={10,20,340};list.AddRange(a);list.Remove(10);//10があればListから削除//3,4,10,20,340

RemoveAllメソッド

Removeメソッドでは該当する値が複数あった場合、削除されるのは最初に見つかった値だけです。

なので、例えば10という値が複数Listに格納されている場合、全てのを削除するにはRemoveAllメソッドを使います。

List<int>list=newList<int>();list.Add(3);list.Add(10);list.Add(4);int[]a={10,20,10};list.AddRange(a);list.RemoveAll(num=>num==10);//全ての10をListから削除Debug.Log("Listの長さは"+list.Count);//長さは3//3,4,20

RemoveAtメソッド

Listのインデックス番号を指定して削除ができます。

List<int>list=newList<int>();list.Add(3);list.Add(10);list.Add(4);int[]a={40,20,30};list.AddRange(a);list.RemoveAt(2);// Listの2番目の要素を削除する //3,10,40,20,30

おわり

Listを使うことで値を自由に出し入れすることができました。
ということで、Listの基本的な使い方でした。


Viewing all articles
Browse latest Browse all 9551

Trending Articles