Mảng nhiều chiều C#
Hầu hết các ví dụ mảng của chúng ta đã là mảng int, nhưng không có các hạn chế lên các dạng gì có thể được dùng trong
một mảng. Chúng ta chính có thể sử dụng dễ dàng double[], bool[], và char[]. Bạn có thể thậm chí tạo các mảng của các
mảng! Ví dụ, tưởng tượng nếu bạn có ma trận sau của các số:
Bạn có thể trình bày cấu trúc này và các nội dung của nó với thứ gì đó giống cái sau:
int[][] matrix = new int[3][];
matrix[0] = new int[] { 1, 2 };
matrix[1] = new int[] { 3, 4 };
matrix[2] = new int[] { 5, 6 };
Console.WriteLine(matrix[0][1]); // Should be 2.
Thiết lập cho một mảng của các mảng là xấu xí vì mỗi mảng bên trong mảng chính phải được khởi tạo độc lập. Các
mảng của các mảng thường được sử dụng nhất khi mỗi mảng nhỏ hơn cần là một kích cỡ khác nhau. Cái này đôi khi
được nhắc đến như là một jagged array.
Bạn thường muốn một lưới với một số cụ thể các dòng và cột. Các mảng C# có thể là nhiều chiều, chứa nhiều hơn
một chỉ mục. Mảng thuộc tính chất này được gọi là các mảng nhiều chiều hay các mảng hình chữ nhật. Một ví dụ
được thể hiện dưới đây:
int[,] matrix = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
Console.WriteLine(matrix[0, 1]);

