はじめに
今回は配列の定数を宣言する記事になります!
配列を定数として扱いたくて、配列をconst宣言をしたところエラーがでてきてしまいました。
今回はその対処法を紹介したいと思います。
static readonlyを使う
一番シンプルな配列の定数の宣言方法はstatic readonly
を使う方法だと思います。
実際にみてみましょう。
using UnityEngine; public class Test : MonoBehaviour { private static readonly string[] NAMES = { "hanachiru", "slime" }; private void Start() { foreach(var name in NAMES) { Debug.Log(name); //hanachiru slime } } }
ReadOnlyCollectionを使う
上のサンプルでも良いのだが、例えば外部に公開するといった場合はReadOnlyCollection
を用いたほうが安全といえるかもしれません。
これを用いた例は以下の通りです。
using UnityEngine; using System.Collections.ObjectModel; //ReadOnlyCollectionを使うため using System; //Arrayを使うため public class Test : MonoBehaviour { public static readonly ReadOnlyCollection<string> NAMES = Array.AsReadOnly(new string[] { "hanachiru", "slime" }); private void Start() { foreach(var name in NAMES) { Debug.Log(name); //hanachiru slime } } }
さいごに
これで配列を定数で宣言することができました。
配列の定数の宣言ではconst
は使えない、覚えておいて損はないと思います!