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

Sử dụng mảng đa chiều trong C#


C# hỗ trợ mảng đa chiều. Mảng đa chiều còn gọi là mảng hình chữ nhật (rectangular array). Khai báo mảng 2 chiều kiểu string:

string[,] names;

Mảng 2 chiều có thể hình dung như một bảng với x hàng và y cột.

Khởi tạo

int[,] a = new int[4, 4] 
{
    { 0, 1, 2, 3 },   // hàng 0
    { 4, 5, 6, 7 },   // hàng 1
    { 8, 9, 10, 11 }, // hàng 2
    { 12, 13, 14, 15 } // hàng 3
};

Ví dụ

using System;

namespace Program
{
    class Demo
    {
        static void Main(string[] args)
        {
            // Mảng 5 hàng, 2 cột
            int[,] a = new int[5, 2] 
            {
                { 0, 0 }, { 1, 2 }, { 2, 4 }, { 3, 6 }, { 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

Mảng đa chiều vs Mảng răng cưa

Đặc điểmMảng đa chiều (Rectangular)Mảng răng cưa (Jagged)
Cú phápint[,]int[][]
Bộ nhớLiên tục, một khốiKhông liên tục, mảng con riêng
Kích thước hàngCố định, tất cả hàng bằng nhauMỗi hàng khác nhau được
Truy cậpa[i, j]a[i][j]
Hiệu suấtTốt hơn (cache friendly)Linh hoạt hơn