.net column

.NET開発者のためのブログメディア
データのイメージ

C#のvarの使い方を解説。暗黙の型指定とは何か?

2020年09月18日

JavaScriptを書いたことがある方は、varでの変数宣言は馴染みがあるのではないでしょうか。C#での使い方としては似たような意味合いとなり、intやStringなど明示的な型指定ではなく、暗黙的な型指定をする場合にvarを使用します。

この記事では、varの概要やどのようなケースで使用できるかを紹介しますので、ぜひ参考にしてみてください。

PG
C#でもvarを使用して変数が宣言できることは分かったのですが、どのような場面で使用するのでしょうか?
PL
良い質問ですね。それでは、どのような場面でvarが使用できるか考えてみましょう。

実行環境
・Windows 10 Home
・Visual Studio Community 2019

C#で使えるvarの概要

C#のメソッド内で使用するローカル変数は、暗黙的な型指定としてvarを使用することができます。varを指定した場合、コンパイラは右側の値からデータ型を推測して決定します。
この仕組みを「型推論」と呼びます。

例えば、以下のようなコードがあったとします。

例1は厳密な型が指定されていませんが、コンパイラによってint型と判別されるため、例1と例2は機能的に等しくなります。

また、宣言と初期化が行われる場合のみvarが使用でき、nullでの初期化はできません。

varを使うべき場面

まずは、どのような場面でvarを使用できるのか紹介します。

変数の型が右側で明らかな場合

右側の値からint、Stringなど、データ型が明らかな場合はvarを活用できますね。

for文のループ変数として使用する場合

for文のループ変数としても、varを使用することができます。

varを使わない方が良い場面

次に、varを使わない方が良い場面もあるので、合わせて紹介しておきます。

変数の型が右側で明らかにならない場合

任意のクラスのメソッドを呼び出していますが、メソッド名からなどでは戻り値が推測できません。このような場合はvarを指定せず、例のように明示的にint型を指定することをおすすめします。
どうしても、varで指定したいという場合は、変数名を分かりやすくすると、コードの可読性は上がるかもしれません。

PG
なるほど、このような場面でvarを使用することができるのですね。これから積極的に使っていきたいと思います。
PL
そうですね。コーディングする上で、厳密な型が重要でない変数には使用してみると良さそうです。

場面に応じてvarを使い分けましょう

今回は、varを使用した暗黙の型指定を紹介しました。厳密な型を指定しないので、あまり使用しない方が良いのではと考える方もいるかもしれませんが、varを使用することでコードの可読性が上がることもあります。
今回紹介したケースを参考にしながら、この機会に、ぜひ活用してみてください。

>>>C#の案件を探すならFEnet .NET Navi


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)