デジタルフロッグ

Unityのアプリの開発をしながらいろいろと忘れないための備忘録でございます。

varとは?

よく出てきますよね。var。

しかし、varの使いどころっていまいちつかめてなかったりします。そこでvarについて調べてみました。

variableの略なので、意味としては「変数」という意味でこれは変数、引数ですよと表しています。

 

var name = "あかさ太郎"; //string型として扱われます。

var number = 1; //int型として扱われます。

var number = 1.5f; //float型として扱われます。

試しに下記のようにプログラムを書くと…

var Gravity = 9.8f;

Debug.Log(Gravity.GetType());

f:id:karaagedigital:20160914164350p:plain

System.Singleと帰ってきます。

floatじゃないの?と思ってしまいますが、もともとはSystem.Singleという名前らしいのですが、頻繁に使うのでfloatという別名が準備されているという事です。

型(.NET Framework型):System.Single
別名(C#型):float
意味:単精度実数(32bit)
最小値:-3.402823E+38
最大値:3.402823E+38

varはどんな時に使うの?

これですよね。実際いつ使うの?どんな場面でvarを使えばいいの?となってしまいます。

List<int> intList = new List<int>();

こういったものって右にも左にも同じようにList<int>が入っていますが、どちらを見てもList<>が使われている事がわかります。

このような場合は

var intList = new List<int>();

としてしまっても右側をみるとList<>がしようされている事がわかります。

他にも右側を見て明らかに型がわかるようであればvarを使ってしまってもいいという事でした。

var obj = new GameObject ();

こういうのなんかも左側でGameObjectを定義して上げなくても右側を見るだけでわかるのでvarでもいいんだと思います。

この辺はチーム同士の暗黙の了解的な部分がありそうですね。

ん、これはなんだ?と他の人が見てもすぐに型がわかるようなものであればvarを使っちゃってもいいかもしれないですね。

qiita.com