スポンサーリンク

C# の var の使い方と避けた方がいいケース

C# の var キーワードは、ローカル変数の型をコンパイラに推論させる便利な機能です。しかし、使い方を誤るとコードの可読性を損なうこともあります。本記事では var のメリット・デメリットと、使うべき場面・避けるべき場面を具体的に解説します。

var の基本

var は C# 3.0 から導入された型推論機能です。明示的に型を書かなくても、右辺の式から型を推論してくれます。

例:

var number = 10;               // int と推論される
var message = "Hello World";   // string と推論される

実行時ではなくコンパイル時に型が決定されるため、動的型付け(dynamic)とは異なります。

var を使うメリット

  • 型名の重複を避けて記述量を減らせる
  • 読みやすくスッキリしたコードになる
  • 匿名型を扱える
var person = new { Name = "Taro", Age = 30 };

var を使うべきケース

1. 右辺から明確に型がわかるとき

var list = new List<string>(); // List<string> とすぐに分かる

2. 型が冗長・複雑なとき

var lookup = new Dictionary<string, List<int>>();

3. LINQ や匿名型の結果を扱うとき

var result = items.Where(x => x.IsActive).Select(x => new { x.Id, x.Name });

var を避けるべきケース

1. 型が不明確・推論しづらいとき

var data = GetData(); // GetData の戻り値が明示されていないと可読性が下がる

2. 可読性を重視したいとき

User user = userRepository.FindById(1); // 一目で User 型と分かる

3. 他の開発者への配慮が必要なとき

  • チーム開発では明示的な型が望まれる場面も多くあります

var と動的型 dynamic の違い

キーワード型決定タイミング補完/型チェック主な用途
varコンパイル時あり通常のローカル変数
dynamic実行時なしCOM 連携、動的オブジェクトなど

まとめ

var は便利な機能ですが、使いどころを誤るとコードの可読性や保守性を損なうことがあります。推論される型が明確な場合や、コードを簡潔にできる場面では積極的に使い、型が不明瞭なときや明示が有利な場合は避けるなど、バランスよく活用しましょう。

.NET
スポンサーリンク
シェアする
trelab