C# 3.0 引入 var 關鍵字與匿名類型,大幅簡化區域變數宣告與臨時資料結構建立。本文快速掌握核心語法與編譯器推斷邏輯。
var I = 1; // int
var j = "reallypride"; // string
var k = new[] { 1, 2, 3, 4 }; // int[]
var x; // 錯誤:必須初始化
var y = null; // 錯誤:不可為 null
行內定義唯讀屬性集合,無需預先宣告類別:
var p1 = new { name = "reallypride", age = 23 };
var p2 = new { name = "jingxuan", age = 23 };
// p1、p2 結構相同,為同一編譯器產生類別的實例
var p3 = new { age = 23, name = "reallypride" }; // 屬性順序不同,視為不同類別
var intArray = new[] { 1, 2, 3, 4 };
var strArray = new[] { "a", "b", "c" };
var anonArray = new[] {
new { name = "reallypride", age = 23 },
new { name = "jingxuan", age = 23 }
};
new 搭配物件初始化器建立System.Object傳統寫法需重複型別名稱:
User user = new User(); // 型別名稱出現兩次
使用 var:
var user = new User(); // 僅出現一次
減少重複輸入,配合 IntelliSense 更高效。讓開發者專注業務邏輯而非樣板程式碼。