Ticker

6/recent/ticker-posts

Mảng Jagged (Mảng trong mảng) trong C#

 Trong C #, mảng jagged  còn được gọi là "mảng trong mảng " vì các phần tử của nó là mảng. Kích thước phần tử của mảng jagged có thể khác nhau.

Khai báo mảng jagged:

Ví dụ để khai báo mảng jagged có hai phần tử.

int[][] arr = new int[2][];  

khởi tạo mảng Jagged

Hãy xem một ví dụ để khởi tạo mảng Jagged. Kích thước của các phần tử có thể khác nhau.

arr[0] = new int[4];  
arr[1] = new int[6];  

Khởi tạo và điền các phần tử cho mảng Jagged

Ví dụ để khởi tạo và điền các phần tử vào mảng Jagged.

arr[0] = new int[4] { 11, 21, 56, 78 };         
arr[1] = new int[6] { 42, 61, 37, 41, 59, 63 };  

Kích thước của các phần tử trong mảng Jagged là tùy ý. Vì vậy, đoạn code trên có thể viết lại như sau:

arr[0] = new int[] { 11, 21, 56, 78 };         
arr[1] = new int[] { 42, 61, 37, 41, 59, 63 };  

Một số ví dụ về mảng Jagged trong C# 

Ví dụ đơn giản về mảng Jagged  trong C# khai báo, khởi tạo và duyệt qua các mảng Jagged.

public class JaggedArrayTest  
{  
    public static void Main()  
    {  
        int[][] arr = new int[2][];// Declare the array  
  
        arr[0] = new int[] { 11, 21, 56, 78 };// Initialize the array          
        arr[1] = new int[] { 42, 61, 37, 41, 59, 63 };  
  
        // Traverse array elements  
        for (int i = 0; i < arr.Length; i++)  
        {  
            for (int j = 0; j < arr[i].Length; j++)  
            {  
                System.Console.Write(arr[i][j]+" ");  
            }  
            System.Console.WriteLine();  
        }  
    }  
}  

Kết quả:

11 21 56 78
42 61 37 41 59 63
Xem ví dụ

Khởi tạo giá trị mảng jagged  tại lúc khai báo

Ví dụ Khởi tạo giá trị mảng jagged  tại lúc khai báo

int[][] arr = new int[3][]{  
        new int[] { 11, 21, 56, 78 },  
        new int[] { 2, 5, 6, 7, 98, 5 },  
        new int[] { 2, 5 }  
        };  

Ví dụ tiếp theo về mảng Jagged trong C#

Ví dụ khởi tạo giá trị có kích thước khác nhau cho mảng Jagged

public class JaggedArrayTest  
{  
    public static void Main()  
    {  
        int[][] arr = new int[3][]{  
        new int[] { 11, 21, 56, 78 },  
        new int[] { 2, 5, 6, 7, 98, 5 },  
        new int[] { 2, 5 }  
        };  
  
        // Traverse array elements  
        for (int i = 0; i < arr.Length; i++)  
        {  
            for (int j = 0; j < arr[i].Length; j++)  
            {  
                System.Console.Write(arr[i][j]+" ");  
            }  
            System.Console.WriteLine();  
        }  
    }  
}  

Kết quả:

11 21 56 78
2 5 6 7 98 5
2 5
Xem ví dụ
Chú ý: Cẩn thận khi sử dụng các mảng dạng jagged. Nó sẽ phát sinh lỗi ngoại lệ IndexOutOfRange nếu index của mảng không tồn tại.

Đăng nhận xét

0 Nhận xét