Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

วิธีประกาศ Two-Dimensional Array ใน C#

Two-Dimensional Array (2D Array) เป็นอาร์เรย์ของอาร์เรย์ จัดเก็บในรูปตาราง แถวและคอลัมน์

Syntax

// ประกาศ
int[,] arrayName;

// ประกาศและกำหนดขนาด
int[,] arr = new int[3, 2]; // 3 แถว, 2 คอลัมน์

// ประกาศและกำหนดค่าเริ่มต้น
int[,] arr = new int[3, 2] 
{ 
    {0, 0}, 
    {1, 2}, 
    {2, 4} 
};

โค้ดตัวอย่างเต็ม

using System;

namespace ArrayApplication
{
    class MyArray
    {
        static void Main(string[] args)
        {
            // 3 แถว, 2 คอลัมน์
            int[,] a = new int[3, 2] 
            { 
                {0, 0}, 
                {1, 2}, 
                {2, 4} 
            };
            
            // เข้าถึง: a[row, column]
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i, j]);
                }
            }
            
            Console.ReadKey();
        }
    }
}

ผลลัพธ์

a[0,0] = 0
a[0,1] = 0
a[1,0] = 1
a[1,1] = 2
a[2,0] = 2
a[2,1] = 4

คุณสมบัติสำคัญ

  • เก็บในหน่วยความจำแบบ Contiguous (ต่อเนื่อง)
  • ขนาดคงที่ (Fixed Size)
  • ใช้ GetLength(0) = จำนวนแถว, GetLength(1) = จำนวนคอลัมน์
  • Rank = 2, Length = Total Elements (6)

2D Array vs Jagged Array

คุณสมบัติ2D Array (Rectangular)Jagged Array
Syntaxint[,]int[][]
โครงสร้างตารางสี่เหลี่ยมอาร์เรย์ของอาร์เรย์ (แถวแต่ละแถวยาวต่างกันได้)
MemoryContiguous BlockScattered (Array of References)
Performanceดีกว่า (Cache Friendly)ช้ากว่าเล็กน้อย