Chủ Nhật, 1 tháng 3, 2009

Mảng đa chiều (Multidimensional Arrays)

Mảng có thể có nhiều hơn một chiều. Ví dụ, việc khai báo sau đây tạo ra một mảng hai chiều của bốn hàng và hai cột.

int[,] array = new int[4, 2];

Việc kê khai sau đây tạo ra một mảng ba chiều, 4, 2, và 3.

int[, ,] array1 = new int[4, 2, 3];

Bạn có thể khởi tạo mảng khi khai báo, như được thể hiện trong ví dụ sau đây.

// Two-dimensional array.
int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
// The same array with dimensions specified.
int[,] array2Da = new int[4, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
// A similar array with string elements.
string[,] array2Db = new string[3, 2] { { "one", "two" }, { "three", "four" },{ "five", "six" } };

// Three-dimensional array.
int[, ,] array3D = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } },{ { 7, 8, 9 }, { 10, 11, 12 } } };
// The same array with dimensions specified.
int[, ,] array3Da = new int[2, 2, 3] { { { 1, 2, 3 }, { 4, 5, 6 } },{ { 7, 8, 9 }, { 10, 11, 12 } } };

// Accessing array elements.
System.Console.WriteLine(array2D[0, 0]);
System.Console.WriteLine(array2D[0, 1]);
System.Console.WriteLine(array2D[1, 0]);
System.Console.WriteLine(array2D[1, 1]);
System.Console.WriteLine(array2D[3, 0]);
System.Console.WriteLine(array2Db[1, 0]);
System.Console.WriteLine(array3Da[1, 0, 1]);
System.Console.WriteLine(array3D[1, 1, 2]);

Bạn cũng có thể khởi tạo mảng mà không cần xác định thứ hạng.

int[,] array4 = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };

Nếu bạn chọn cho khai báo một biến mảng mà không cần khởi động, bạn phải sử dụng toán tử mới để phân định một mảng đến biến. Việc sử dụng mới này được thể hiện trong ví dụ sau đây.

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

Ví dụ sau gán một giá trị cho một phần tử mảng cụ thể.

array5[2, 1] = 25;

Tương tự, ví dụ sau đây nhận được giá trị của một phần tử mảng cụ thể và gán nó cho elementValue biến.

int elementValue = array5[2, 1];

Ví dụ mã sau khởi tạo các các phần tử mảng cho giá trị mặc định (trừ các mảng không đều).

int[,] array6 = new int[10, 10];

DangTrung.

Không có nhận xét nào:

Đăng nhận xét