Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Độ dài và rank của mảng răng cưa (jagged array) trong C#

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ử