Minaminの日記

趣味を記事にしてる。

C#のvarキーワードについて。

f:id:Minamin1234:20210816175746p:plain

こんにちは。みなみんです。
C#入門シリーズの続きです。

 

今回は「var」キーワードについて記事にしました。

目次

 

varキーワードについて

varキーワードとは?

サッカーのVAR(ビデオ・アシスタント・レフェリー)ではないですよ。
varです。varは「Variable」の略で変数っていう事です。

今まで、変数は型を指定して宣言していました。
だが、「var」キーワードを使えばその必要はありません。(条件がありますが)

 

varの使い方

サンプルをご覧ください。(Gist)

varを使って変数を宣言すると、初期値の型から自動的に型が決定します。
これを「型推論」と呼んでます。

とても便利ですよね。
ただし、このキーワードを使う事が出来る範囲・条件があります。

varの条件
  • 初期値を与えられている事。
  • ローカル変数である事。

varを使うメリット・デメリット

・メリット

一時的に変数を宣言できる。

関数内で一時的に値を格納して演算する場面で一々型を宣言してやるのは面倒である。
そういう時に「var」は便利である。

 

型が変更されても書き換えの必要がなくなる。

例えば、関数の戻り値の型が変更された場合、変数自体の型も変更しなければならないが、これを使えば自動で変更される。

 

文字数が減り、コーディングがしやすい・見やすい

型の記述が減る分、文字数も減る。よって、可読性が向上する。(読みやすくなる)

あと、どの型でも「var」が使えるので統一感が生まれる。

 

・デメリット

型の把握がしずらい。

クラス型のメゾットから返り値を代入する場合、現在の型というのは分かりづらい。
VisualStudioの環境なら、変数名にカーソルを置くと変数の詳細で分かる。
だが、それ以外の環境なら全くわからない。クラスの定義からメンバ関数の定義を見に行かなければならない。

逆に「var」ではなく、変数に型が指定されていればとりあえずその型が入るのだなという見当はつく。

f:id:Minamin1234:20210816175510p:plain

変数名にカーソルを置くと変数の詳細が分かる。
初期値無しで宣言はできない。

あまり、初期値なしで宣言する事はあまりないが通常の型を指定して宣言する場合は初期値無しで宣言が出来るが、varを使うと、初期値無しで宣言はできない。

 

ローカルでしか使えない。

例えば、クラスのメンバ変数でvarを使う事はできない。

関数内のローカル変数として使う事しかできない。

 

 

こういうのは好みが分かれますよね。

 

 

この記事に誤りがあるかもしれません。その辺はご了承ください。

本記事で紹介されている方法・手法はあくまでも個人的なものです。