首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 陣列進階:多維陣列與交錯陣列完整操作

     編輯:關於C語言

多維陣列 (矩形陣列)

固定維度與長度,記憶體連續:


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);
  • 排名 `Rank` = 3
  • `GetLength(0)` = 2, `GetLength(1)` = 3, `GetLength(2)` = 4
  • 適合矩陣、影像、棋盤等規則資料

交錯陣列 (陣列的陣列)

每列長度可不同,記憶體不連續:


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);
  • 存取:`jagged[i][j]`
  • 適合不規則資料、稀疏矩陣、逐行配置
  • 效能:單維陣列最快,交錯陣列次之,多維陣列最慢 (邊界檢查較複雜)

選擇指南

需求建議
高效能、固定大小、規則矩陣多維陣列 `T[,]`
列長度不固定、逐行建構交錯陣列 `T[][]`
單純線性資料單維陣列 `T[]`
需動態增刪`List<T>`
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved