Jagged array (int[][]) là mảng của mảng - mỗi hàng có độ dài khác nhau. Rank = 1, Length = số hàng.
Ví dụ minh họa
using System;
class Program
{
static void Main()
{
int[][] jagged = new int[][]
{
new int[] { 0, 0 },
new int[] { 1, 2 },
new int[] { 2, 4 },
new int[] { 3, 6 },
new int[] { 4, 8 }
};
Console.WriteLine($"Rank (số chiều): {jagged.Rank}"); // 1
Console.WriteLine($"Length (số hàng): {jagged.Length}"); // 5
Console.WriteLine($"GetUpperBound(0): {jagged.GetUpperBound(0)}"); // 4
Console.WriteLine($"GetLowerBound(0): {jagged.GetLowerBound(0)}"); // 0
// Độ dài từng hàng
Console.WriteLine("\nĐộ dài từng hàng:");
for (int i = 0; i < jagged.Length; i++)
{
Console.WriteLine($"Hàng {i}: Length = {jagged[i].Length}");
}
// Tổng số phần tử
int totalElements = 0;
foreach (var row in jagged) totalElements += row.Length;
Console.WriteLine($"\nTổng số phần tử: {totalElements}");
}
}
Kết quả đầu ra
Rank (số chiều): 1 Length (số hàng): 5 GetUpperBound(0): 4 GetLowerBound(0): 0 Độ dài từng hàng: Hàng 0: Length = 2 Hàng 1: Length = 2 Hàng 2: Length = 2 Hàng 3: Length = 2 Hàng 4: Length = 2 Tổng số phần tử: 10
Ví dụ jagged array thực sự (hàng độ dài khác nhau):
int[][] realJagged = {
new int[] { 1 },
new int[] { 1, 2 },
new int[] { 1, 2, 3 },
new int[] { 1, 2, 3, 4 }
};
// Hàng 0: 1 phần tử, Hàng 1: 2 phần tử, Hàng 2: 3 phần tử, Hàng 3: 4 phần tử