はじめに
この記事ではUnityで型推論「var」の使い方を紹介します。
var の使用例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class VarSample : MonoBehaviour { // Use this for initialization void Start () { VarExample(); } // Update is called once per frame void Update () { } public void VarExample() { //int型の型推論 var a = 10; var b = 5; var c = a + b; Debug.Log("合計" + c); //string型の型推論 string message = "ぴよぴよ"; var varMessage = "(カレンちゃんおなかすいたよー)"; Debug.Log("メッセージ:" +message + varMessage); //List型の型推論 List<int> list = new List<int>(); var varList = new List<int>(); //Dictionary型の型推論 Dictionary<string, List<int>> dic = new Dictionary<string, List<int>>(); var varDic = new Dictionary<string, List<int>>(); //Karen型の型推論(別クラスでKarenを作成しないとnullでエラー出ます) Karen ex = GetComponent<Karen>(); var varEx = GetComponent<Karen>(); varEx.GiveMeFoods(); } } |
varの制約
宣言時に型を宣言しなくてはならない
1 2 |
var a; //エラー //暗黙的に型指定された変数は初期化される必要があります |
ローカル変数としてのみ使用可能
1 2 3 4 5 6 7 8 9 10 11 12 |
public class Error : MonoBehaviour { private var b = 1;//エラー //コンテクストキーワード 'var' はローカル変数宣言内 //またはスクリプトコード内でのみ有効です // Use this for initialization void Start () { } } |
nullで初期化できない
1 2 |
var a = null;//エラー //<null>を暗躍的に型指定された変数に割り当てることはできません。 |