C# 3.0 引入 var,類似 JS 但本質不同:靜態強類型推斷,僅用於區域變量,非動態類型、非 variant。
var i = 10; // int
var s = "Hello"; // string
var arr = new[] { 0, 1, 2 }; // int[]
var query = from c in customers
where c.City == "London" select c; // IEnumerable
var anon = new { Name = "Terry", Age = 34 }; // 匿名類型
var list = new List(); // List
var 不表示「變體」,不意味著鬆散類型或晚綁定。它只是告訴編譯器:請根據初始化表達式確定並分配最適當的類型。
var 是編譯期類型推斷的語法糖,生成 IL 與顯式聲明無異。四大鐵律保證類型安全,配合匿名類型、LINQ、複雜泛型,極大減少樣板代碼。理解其「靜態推斷、非動態」本質,是正確使用的前提。