Jagged Array คืออาร์เรย์ของอาร์เรย์ (Array of Arrays) เพื่อเพิ่ม/แก้ไขค่า ให้เข้าถึงผ่านดัชนีสองระดับ
สมมติต้องการกำหนดค่าที่ตำแหน่ง a[3][1] (อาร์เรย์ที่ 3 ดัชนี 1):
a[3][1] = 500;
โค้ดตัวอย่างเต็ม
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
int[][] x = new int[][]
{
new int[]{10, 20},
new int[]{30, 40},
new int[]{50, 60},
new int[]{70, 80},
new int[]{90, 100}
};
int i, j;
Console.WriteLine("Old Array...");
for (i = 0; i < 5; i++)
{
for (j = 0; j < 2; j++)
{
Console.WriteLine("a[{0}][{1}] = {2}", i, j, x[i][j]);
}
}
// เพิ่ม/แก้ไขค่าที่ [3][1]
x[3][1] = 500;
Console.WriteLine("New Array...");
for (i = 0; i < 5; i++)
{
for (j = 0; j < 2; j++)
{
Console.WriteLine("a[{0}][{1}] = {2}", i, j, x[i][j]);
}
}
Console.ReadKey();
}
}
}
ผลลัพธ์
Old Array... a[0][0] = 10 a[0][1] = 20 a[1][0] = 30 a[1][1] = 40 a[2][0] = 50 a[2][1] = 60 a[3][0] = 70 a[3][1] = 80 a[4][0] = 90 a[4][1] = 100 New Array... a[0][0] = 10 a[0][1] = 20 a[1][0] = 30 a[1][1] = 40 a[2][0] = 50 a[2][1] = 60 a[3][0] = 70 a[3][1] = 500 a[4][0] = 90 a[4][1] = 100
หมายเหตุ
Jagged Array ใน C# มีขนาดคงที่ (Fixed Size) ไม่สามารถเพิ่มจำนวนแถวหรือคอลัมน์ได้หลังสร้างแล้ว สามารถเปลี่ยนค่าภายในได้อย่างเดียว