固定維度與長度,記憶體連續:
int[,,] arr = new int[2, 3, 4]; // 2x3x4 = 24 元素
for (int x = 0; x < 2; x++)
for (int y = 0; y < 3; y++)
for (int z = 0; z < 4; z++)
arr[x, y, z] = (x+1)*100 + (y+1)*10 + (z+1); // 111, 112...
foreach (int v in arr) Console.WriteLine(v);
每列長度可不同,記憶體不連續:
int[][] jagged = new int[3][];
jagged[0] = new int[2] { 11, 12 };
jagged[1] = new int[3] { 21, 22, 23 };
jagged[2] = new int[4] { 31, 32, 33, 34 };
foreach (int[] row in jagged)
foreach (int v in row)
Console.WriteLine(v);
| 需求 | 建議 |
|---|---|
| 高效能、固定大小、規則矩陣 | 多維陣列 `T[,]` |
| 列長度不固定、逐行建構 | 交錯陣列 `T[][]` |
| 單純線性資料 | 單維陣列 `T[]` |
| 需動態增刪 | `List<T>` |