カテゴリ: C# 更新日: 2025/06/29

C#のvarキーワードとは?暗黙的型指定の使いどころを解説

C#のvarキーワードとは?暗黙的型指定の使いどころを解説
C#のvarキーワードとは?暗黙的型指定の使いどころを解説

先生と生徒の会話形式で理解しよう

生徒

「C#でvarって見かけたんですけど、これは何ですか?」

先生

varは“暗黙的型指定”という機能で、変数の型を自動的に判断してくれるキーワードです。」

生徒

「型が自動ってどういうことですか?型ってintとかstringとか、決めないとダメなんじゃないですか?」

先生

「とても良いポイントですね。では、実際の使い方を見ながら、varが何をしてくれるのか理解していきましょう!」

1. varキーワードとは?

1. varキーワードとは?
1. varキーワードとは?

C#のvarキーワードは、変数を宣言するときに型を明示的に書かなくても、代入する値から自動的に型を判断してくれる便利な機能です。これを「暗黙的型指定(あんもくてきかたしてい)」と呼びます。

例えば、次のように書くことができます:


var number = 100; // numberはint型になります
var name = "たろう"; // nameはstring型になります

このように、varを使えば、値を代入するだけで自動的に型が決まるため、毎回intstringなどを書く必要がなくなります。

2. なぜvarを使うの?

2. なぜvarを使うの?
2. なぜvarを使うの?

varを使うメリットは以下のとおりです:

  • コードがスッキリする:型が長くても簡潔に書けます。
  • 可読性が上がる:文脈から型がすぐに分かる場合、読みやすくなります。
  • 柔軟性がある:LINQなど複雑な型のときにとても便利です。

たとえば、以下のようなコードを比べてみましょう。


// 通常の型指定
Dictionary<string, int> scores = new Dictionary<string, int>();

// varを使った型指定
var scores = new Dictionary<string, int>();

同じことをしているのに、varを使った方が簡潔ですよね。

3. varの注意点

3. varの注意点
3. varの注意点

varを使うときには、いくつかの注意点があります:

  • 初期化が必須:varは代入する値から型を判断するため、必ず初期値が必要です。
  • 中身の型は変えられない:後から別の型の値を代入することはできません。
  • 型が不明瞭になることも:ぱっと見で型が分かりにくい場合はvarを使わない方が良いこともあります。

// これはOK
var age = 20; // int型

// これはエラーになる
var x; // エラー:初期化していないので型がわからない

4. varの型はどう決まるの?

4. varの型はどう決まるの?
4. varの型はどう決まるの?

varで宣言した変数の型は、右辺の値からコンパイル時に自動で決定されます。これは「静的型付け(せいてきかたづけ)」の一種です。

「静的型付け」とは、プログラムを実行する前に型が決まるという仕組みです。つまり、varを使っても、最終的には普通のintstringと同じように扱われます。


var value = "こんにちは";
Console.WriteLine(value.Length); // string型として扱われる

5. どんなときにvarを使えばいい?

5. どんなときにvarを使えばいい?
5. どんなときにvarを使えばいい?

初心者のうちは、まずは型を明示的に書く習慣をつけた方が理解しやすいですが、以下のような場合はvarがとても役立ちます:

  • 型が明らかにわかるとき:var name = "さくら";のように、文字列であることがすぐにわかる場合。
  • 長い型名を使うとき:List>など複雑な型。
  • LINQを使うとき:LINQの戻り値の型は複雑になりやすいため、varが推奨されます。

6. 実行例で確認してみよう

6. 実行例で確認してみよう
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
カテゴリの一覧へ
新着記事
COBOLの変数名の付け方を解説!初心者でもわかる命名規則とコツ
C#のbreakとcontinueの使い方!ループ制御の基本テクニック
COBOLのFILLERの使い方とは?未使用領域を上手に管理する基本テクニック
C#のforeach文の基本!配列やコレクションを簡単に繰り返し処理する方法
人気記事
No.1
Java&Spring記事人気No1
COBOLのDISPLAY文の使い方を完全ガイド!初心者でもわかる出力方法
No.2
Java&Spring記事人気No2
C#のwhile文の使い方!条件付きループを基礎から学ぼう
No.3
Java&Spring記事人気No3
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.4
Java&Spring記事人気No4
C#のfor文の基本!繰り返し処理をわかりやすく解説