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

การประกาศอาร์เรย์ (Array Declarations) ใน C#

อาร์เรย์คืออะไร?

อาร์เรย์ (Array) คือคอลเลกชันของตัวแปรที่มี ชนิดข้อมูลเดียวกัน จัดเก็บใน หน่วยความจำติดกัน (contiguous memory locations)

  • ดัชนีเริ่มจาก 0 (zero-indexed)
  • ขนาดคงที่ (fixed size) หลังสร้างแล้ว
  • เข้าถึงได้เร็ว O(1) ผ่านดัชนี

Syntax การประกาศอาร์เรย์

type[] arrayName;

องค์ประกอบ

  • type - ชนิดข้อมูลของอาร์เรย์ (int, string, double, ฯลฯ)
  • arrayName - ชื่อตัวแปรอาร์เรย์
  • [ ] - บ่งชี้ว่าเป็นอาร์เรย์ (ขนาดจะระบุตอนสร้าง)

วิธีการสร้างอาร์เรย์

1. ประกาศและสร้างพร้อมกำหนดขนาด

int[] numbers = new int[5]; // อาร์เรย์ int ขนาด 5 (ค่าเริ่มต้น 0)

2. ประกาศและกำหนดค่าเริ่มต้น (Array Initializer)

int[] numbers = new int[] { 10, 20, 30, 40, 50 };
// หรือสั้นๆ
int[] numbers = { 10, 20, 30, 40, 50 };

3. ประกาศแยกจากการสร้าง

int[] numbers; // ประกาศ
numbers = new int[5]; // สร้างภายหลัง

ตัวอย่างโค้ดสมบูรณ์

using System;

namespace MyApplication
{
    class MyClass
    {
        static void Main(string[] args)
        {
            // n คืออาร์เรย์ของจำนวนเต็ม 5 ตัว
            int[] a = new int[5];
            int i, j;
            
            /* เริ่มต้นค่าของอาร์เรย์ a */
            for (i = 0; i < 5; i++)
            {
                a[i] = i + 10;
            }
            
            /* แสดงค่าของแต่ละสมาชิก */
            for (j = 0; j < 5; j++)
            {
                Console.WriteLine("Element[{0}] = {1}", j, a[j]);
            }
            
            Console.ReadKey();
        }
    }
}

ผลลัพธ์

Element[0] = 10
Element[1] = 11
Element[2] = 12
Element[3] = 13
Element[4] = 14

การเข้าถึงและแก้ไขค่า

int[] scores = { 85, 90, 78, 92, 88 };

// อ่านค่า
int first = scores[0];     // 85
int last = scores[4];      // 88

// เขียนค่า
scores[2] = 95;            // แก้ค่าดัชนี 2 เป็น 95

// ความยาว
int len = scores.Length;   // 5

การวนลูปอาร์เรย์

for loop (แบบดั้งเดิม)

for (int i = 0; i < arr.Length; i++)
{
    Console.WriteLine(arr[i]);
}

foreach (แนะนำ - อ่านง่าย ปลอดภัย)

foreach (int value in arr)
{
    Console.WriteLine(value);
}

อาร์เรย์หลายมิติ (Multidimensional Arrays)

2 มิติ (Rectangular Array)

// 3 แถว x 4 คอลัมน์
int[,] matrix = new int[3, 4];
matrix[0, 0] = 1;
matrix[2, 3] = 99;

// วนลูป
for (int r = 0; r < 3; r++)
{
    for (int c = 0; c < 4; c++)
    {
        Console.Write(matrix[r, c] + " ");
    }
    Console.WriteLine();
}

Jagged Array (อาร์เรย์ของอาร์เรย์)

// แต่ละแถวมีขนาดต่างกันได้
int[][] jagged = new int[3][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5, 6 };
jagged[2] = new int[] { 7 };

สรุป

  • ประกาศ: type[] name
  • สร้าง: new type[size] หรือ { val1, val2, ... }
  • ดัชนี 0 ถึง Length-1
  • ใช้ .Length ดูขนาด, foreach วนลูป
  • อาร์เรย์เป็น Reference Type (เก็บ reference ไปยังหน่วยความจำ)