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

C# 陣列屬性、foreach 遍歷與交錯陣列 vs 矩形陣列完整解析

     編輯:關於C#

陣列是 C# 中最基礎的資料結構之一。本文系統整理陣列的核心屬性、foreach 遍歷技巧,並深入比較交錯陣列與矩形陣列的定義、記憶體配置與實際操作差異,幫助開發者根據場景選擇最適合的陣列類型。

陣列的核心屬性

陣列最常用的屬性是 Length,代表陣列所有維度的元素總數(即容量)。此外,Rank 可取得維度數,GetLength(dimension) 可取得指定維度的長度。屬性屬於名詞範疇,描述物件特性;方法則是動詞,描述物件行為。

foreach 遍歷的優勢與限制

foreach 專為遍歷集合或陣列設計,語法簡潔:

foreach (type item in array) { ... }

它能一次性遍歷任意維度的矩形陣列,無需撰寫多層 for 迴圈。但需注意:

  • item 的型別必須與陣列元素型別相同或可隱含轉換。
  • foreach 僅供讀取,無法修改陣列元素值。
  • 對於交錯陣列,需巢狀 foreach 逐行處理。

矩形陣列 vs 交錯陣列

矩形陣列

宣告方式:int[,] rect = new int[3, 4];。所有列長度固定,記憶體連續配置,適合固定尺寸的資料表。

交錯陣列

宣告方式:int[][] jagged = new int[3][];。第一維固定行數,每行再個別配置一維陣列,列長可異。屬於「陣列的陣列」,記憶體不連續,更節省空間,適合不規則資料(如各班級學生人數不同)。

程式碼範例:建立與遍歷交錯陣列

// 宣告 3 行的交錯陣列
string[][] data = new string[3][];

// 第一行:3 欄
data[0] = new string[] { "姓名", "口頭禪", "籍貫" };

// 第二行:3 欄
data[1] = new string[] { "劉大夫", "很是費勁", "《一日一囧》" };

// 第三行:2 欄
data[2] = new string[2];
data[2][0] = "蠟筆小新";
data[2][1] = "老婆!";

// 遍歷:外層取得每行陣列,內層取得每欄值
foreach (string[] row in data)
{
    foreach (string col in row)
    {
        Console.Write(col + " ");
    }
    Console.WriteLine();
}

關鍵差異總結

特性矩形陣列交錯陣列
語法int[,]int[][]
記憶體連續區塊分散配置
列長度固定可變
初始化一次完成分行初始化
foreach 遍歷單層即可需巢狀兩層

陣列範例輸出 交錯陣列宣告示意 交錯陣列輸出結果 矩形陣列輸出結果

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved