C#のvarキーワードとは?暗黙的型指定の使いどころを解説
先生と生徒の会話形式で理解しよう
生徒
「C#でvar
って見かけたんですけど、これは何ですか?」
先生
「var
は“暗黙的型指定”という機能で、変数の型を自動的に判断してくれるキーワードです。」
生徒
「型が自動ってどういうことですか?型ってint
とかstring
とか、決めないとダメなんじゃないですか?」
先生
「とても良いポイントですね。では、実際の使い方を見ながら、var
が何をしてくれるのか理解していきましょう!」
1. varキーワードとは?
C#のvar
キーワードは、変数を宣言するときに型を明示的に書かなくても、代入する値から自動的に型を判断してくれる便利な機能です。これを「暗黙的型指定(あんもくてきかたしてい)」と呼びます。
例えば、次のように書くことができます:
var number = 100; // numberはint型になります
var name = "たろう"; // nameはstring型になります
このように、var
を使えば、値を代入するだけで自動的に型が決まるため、毎回int
やstring
などを書く必要がなくなります。
2. なぜvarを使うの?
var
を使うメリットは以下のとおりです:
- コードがスッキリする:型が長くても簡潔に書けます。
- 可読性が上がる:文脈から型がすぐに分かる場合、読みやすくなります。
- 柔軟性がある:LINQなど複雑な型のときにとても便利です。
たとえば、以下のようなコードを比べてみましょう。
// 通常の型指定
Dictionary<string, int> scores = new Dictionary<string, int>();
// varを使った型指定
var scores = new Dictionary<string, int>();
同じことをしているのに、var
を使った方が簡潔ですよね。
3. varの注意点
var
を使うときには、いくつかの注意点があります:
- 初期化が必須:
var
は代入する値から型を判断するため、必ず初期値が必要です。 - 中身の型は変えられない:後から別の型の値を代入することはできません。
- 型が不明瞭になることも:ぱっと見で型が分かりにくい場合は
var
を使わない方が良いこともあります。
// これはOK
var age = 20; // int型
// これはエラーになる
var x; // エラー:初期化していないので型がわからない
4. varの型はどう決まるの?
var
で宣言した変数の型は、右辺の値からコンパイル時に自動で決定されます。これは「静的型付け(せいてきかたづけ)」の一種です。
「静的型付け」とは、プログラムを実行する前に型が決まるという仕組みです。つまり、var
を使っても、最終的には普通のint
やstring
と同じように扱われます。
var value = "こんにちは";
Console.WriteLine(value.Length); // string型として扱われる
5. どんなときにvarを使えばいい?
初心者のうちは、まずは型を明示的に書く習慣をつけた方が理解しやすいですが、以下のような場合はvar
がとても役立ちます:
- 型が明らかにわかるとき:
var name = "さくら";
のように、文字列であることがすぐにわかる場合。 - 長い型名を使うとき:
List
など複雑な型。> - LINQを使うとき:LINQの戻り値の型は複雑になりやすいため、
var
が推奨されます。
6. 実行例で確認してみよう
実際にvar
を使ったコードを実行して、どう動くか確認してみましょう。
using System;
class Program
{
static void Main()
{
var message = "Hello, C#";
var number = 123;
var pi = 3.14;
Console.WriteLine(message);
Console.WriteLine(number);
Console.WriteLine(pi);
}
}
実行結果:
Hello, C#
123
3.14