C#には、型推論として var があります

C#3.0(2007年)に導入されたもののため、何気に古くから存在する機能です

右辺から型が推論できれば、varをかくだけでよいというものです

Dictionary<string, int> data1 = new Dictionary<string, int>();

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

インスタンス化する場合もvarで書くことはできますが・・・

C#9.0からは、左辺に型がかいてあれば右辺で省略ができます

var obj1 = new DateTime(); // 従来からある型推論

DateTime obj2 = new(); // C#9.0~

左辺でvarとするか右辺を省略するかの違いですが、右辺の場合初期値設定ができる分省略できる量が増えるってとこがポイントなんですかねぇ

// 省略なし
Dictionary<string, List<int>> field1 = new Dictionary<string, List<int>>() { { "item1", new List<int>() { 1, 2, 3 } } };

// varキーワード
var field2 = new Dictionary<string, List<int>>() { { "item1", new List<int>() { 1, 2, 3 } } };

// C#9.0のtarget-typed new式
Dictionary<string, List<int>> field3 = new() { { "item1", new() { 1, 2, 3 } } };

初期値設定まで考慮したら確かに差は大きいですね
https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/target-typed-new.md

投稿日時: 2025-06-23 12:45:23

最近の投稿

最近のコメント

タグ

アーカイブ

その他