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

Độ dài jagged array bằng property Length trong C#

Jagged array (int[][]) có Length = số hàng (số mảng con). Mỗi hàng có Length riê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: {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
        
        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}");
        }
        
        // Jagged array thực sự (hàng độ dài khác nhau)
        Console.WriteLine("\n--- Jagged array không đều ---");
        int[][] uneven = {
            new int[] { 1 },
            new int[] { 1, 2 },
            new int[] { 1, 2, 3 },
            new int[] { 1, 2, 3, 4 }
        };
        Console.WriteLine($"Số hàng: {uneven.Length}");
        for (int i = 0; i < uneven.Length; i++)
            Console.WriteLine($"  Hàng {i}: {uneven[i].Length} phần tử");
    }
}

Kết quả đầu ra

Rank: 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

--- Jagged array không đều ---
Số hàng: 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ử

Phân biệt: Jagged array ([][]) Rank=1, mỗi hàng Length khác nhau. Multi-dimensional array ([,]) Rank>1, hình chữ nhật, Length = tổng phần tử.