【Unity】C#で配列を拡張して要素を追加する方法

Unityで元々データが入っている配列(gameobj)に要素を追加する方法について。

    public void addGameObj(GameObject[] data)
    {
        int tmp = gameobj.Length;
        //追加する分だけサイズを変更する
        Array.Resize(ref gameobj, gameobj.Length + data.Length);
        //末尾にデータを追加する
        Array.Copy(data, 0, gameobj, tmp, data.Length);
    }

追加する配列の要素分、配列を拡張します。

そのあとで配列をコピーして追加します。

Copyの引数は、コピー元の配列、コピー元のインデックス、コピー先の配列、コピー先のインデックス、コピー元のデータ長。

コピー先のインデックスは途中からにすることで、元のデータに追加する形でコピーしました。

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog