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

Khai báo mảng răng cưa (Jagged Array) trong C#


Mảng răng cưa (Jagged Array) là mảng của các mảng. Khai báo mảng răng cưa tên scores kiểu int:

int[][] scores;

Ví dụ

using System;

namespace ArrayApplication
{
    class MyArray
    {
        static void Main(string[] args)
        {
            // Mảng răng cưa: 5 mảng con, mỗi mảng con 2 phần tử
            int[][] a = new int[][] 
            {
                new int[] { 0, 0 },
                new int[] { 1, 2 },
                new int[] { 2, 4 },
                new int[] { 3, 6 },
                new int[] { 4, 8 }
            };
            
            int i, j;
            
            // Xuất từng phần tử
            for (i = 0; i < 5; i++)
            {
                for (j = 0; j < 2; j++)
                    Console.WriteLine("a[{0}][{1}] = {2}", i, j, a[i][j]);
            }
            
            Console.ReadKey();
        }
    }
}

Kết quả

a[0][0] = 0 a[0][1] = 0
a[1][0] = 1 a[1][1] = 2
a[2][0] = 2 a[2][1] = 4
a[3][0] = 3 a[3][1] = 6
a[4][0] = 4 a[4][1] = 8

Đặc điểm mảng răng cưa

  • Mỗi hàng có thể có độ dài khác nhau
  • Cấp phát bộ nhớ không liên tục (khác mảng đa chiều)
  • Truy cập: a[i][j] (hai cặp ngoặc vuông)
  • Khởi tạo: new int[3][] tạo 3 hàng, mỗi hàng null, cần khởi tạo từng hàng

Ví dụ hàng độ dài khác nhau:

int[][] jagged = new int[3][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5, 6 };
jagged[2] = new int[] { 7 };