隱式型別陣列是 var 型別推斷機制在陣列建立上的自然延伸。透過 new[] 語法,編譯器根據元素初始化清單自動推斷陣列元素型別,簡化陣列宣告。
// 一維陣列
var intArray = new[] { 1, 2, 3, 4, 5 }; // int[]
var doubleArray = new[] { 3.14, 1.414 }; // double[]
var stringArray = new[] { "A", "B", "C" }; // string[]
// 交錯陣列
var jaggedInt = new[]
{
new[] { 1, 2, 3 },
new[] { 4, 5, 6 }
}; // int[][]
var jaggedString = new[]
{
new[] { "A", "B" },
new[] { "C", "D", "E" }
}; // string[][]
// 匿名類型陣列(結合匿名類型特性)
var anonArray = new[]
{
new { Name = "Van", Age = 22 },
new { Name = "Martin", Age = 23 }
}; // 匿名類型陣列(元素型別相同,編譯器重用型別)
new[] { 1, "str" }),編譯錯誤new[] 數量決定| 錯誤代碼 | 原因 | 修正 |
|---|---|---|
var a = new[] { 1, 2.5 }; | int 與 double 無隱式雙向轉換 | var a = new[] { 1.0, 2.5 }; 或 var a = new double[] { 1, 2.5 }; |
var b = new[] { null, "str" }; | null 無型別資訊 | var b = new string[] { null, "str" }; |
var c = new[] { new { A = 1 }, new { B = 2 } }; | 匿名類型結構不同 | 確保屬性名、型別、順序完全一致 |