บทช่วยสอน C # ArrayList พร้อมตัวอย่าง

ArrayList ใน C # คืออะไร

คอลเลกชัน ArrayList จะคล้ายกับประเภทข้อมูล Arrays ใน C# ความแตกต่างที่ใหญ่ที่สุดคือลักษณะไดนามิกของคอลเลกชันรายการอาร์เรย์

สำหรับอาร์เรย์ คุณต้องกำหนดจำนวนองค์ประกอบที่อาร์เรย์สามารถเก็บได้ในเวลาของการประกาศอาร์เรย์ แต่ในกรณีของคอลเลกชันรายการอาร์เรย์ ไม่จำเป็นต้องดำเนินการนี้ล่วงหน้า คุณสามารถเพิ่มหรือลบองค์ประกอบจากคอลเลกชันรายการอาร์เรย์ได้ตลอดเวลา มาดูการดำเนินการที่มีให้สำหรับคอลเลกชันรายการอาร์เรย์ในรายละเอียดเพิ่มเติม

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

การประกาศของ ArrayList มีดังต่อไปนี้ รายการอาร์เรย์ถูกสร้างขึ้นด้วยความช่วยเหลือของประเภทข้อมูล ArrayList คำหลัก “ใหม่” ใช้เพื่อสร้างวัตถุของ ArrayList จากนั้นวัตถุจะถูกกำหนดให้กับตัวแปร a1 ตอนนี้ตัวแปร a1 จะถูกใช้เพื่อเข้าถึงองค์ประกอบต่างๆ ของรายการอาร์เรย์

ArrayList a1 = new ArrayList()

การเพิ่มองค์ประกอบให้กับอาร์เรย์

วิธีการเพิ่มใช้เพื่อเพิ่มองค์ประกอบให้กับ ArrayList วิธีการเพิ่มสามารถใช้เพื่อเพิ่มองค์ประกอบประเภทข้อมูลประเภทใดก็ได้ลงในรายการอาร์เรย์ ดังนั้นคุณสามารถเพิ่มจำนวนเต็ม สตริง หรือแม้แต่ค่าบูลีนลงในรายการอาร์เรย์ได้ ไวยากรณ์ทั่วไปของวิธีการบวกมีดังต่อไปนี้

ArrayList.add(element)

ด้านล่างนี้เป็นตัวอย่างวิธีการใช้เมธอด "เพิ่ม" วิธีการเพิ่มสามารถใช้เพื่อเพิ่มประเภทข้อมูลต่างๆ ให้กับคอลเลกชันรายการอาร์เรย์

ด้านล่างนี้คุณสามารถดูตัวอย่างวิธีที่เราสามารถเพิ่มสตริงของจำนวนเต็มและแม้แต่ค่าบูลีนให้กับคอลเลกชันรายการอาร์เรย์

  • a1.add(1) – สิ่งนี้จะเพิ่มค่าจำนวนเต็มให้กับคอลเลกชัน
  • a1.add("ตัวอย่าง") – สิ่งนี้จะเพิ่มค่า String ให้กับคอลเลกชัน
  • a1.add(true) – สิ่งนี้จะเพิ่มค่าบูลีนให้กับคอลเลกชัน

ตอนนี้เรามาดูการทำงานในระดับรหัสกัน โค้ดที่กล่าวถึงด้านล่างทั้งหมดจะถูกเขียนลงในแอปพลิเคชันคอนโซลของเรา รหัสจะถูกเขียนลงในไฟล์ Program.cs ของเรา

ในโปรแกรมด้านล่าง เราจะเขียนโค้ดเพื่อสร้างรายการอาร์เรย์ใหม่ นอกจากนี้เรายังจะแสดงเพื่อเพิ่มองค์ประกอบและเพื่อแสดงองค์ประกอบของรายการอาร์เรย์

ArrayList ใน C #

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   ArrayList a1 = new ArrayList();
   a1.Add(1);
   a1.Add("Example");
   a1.Add(true);
   
   Console.WriteLine(a1[0]);	  
   Console.WriteLine(a1[1]);
   Console.WriteLine(a1[2]);
   Console.ReadKey();
  }
 }
}

คำอธิบายรหัส:-

  1. ขั้นตอนแรกใช้ในการประกาศรายการอาร์เรย์ของเรา ที่นี่เรากำลังประกาศ a1 เป็นตัวแปรเพื่อเก็บองค์ประกอบของรายการอาร์เรย์ของเรา
  2. จากนั้นเราใช้คีย์เวิร์ด add เพื่อเพิ่มหมายเลข 1, String “Example” และค่าบูลีน 'true' ลงในรายการอาร์เรย์
  3. จากนั้นเราใช้วิธี Console.WriteLine เพื่อแสดงค่าขององค์ประกอบรายการอาร์เรย์แต่ละรายการไปยังคอนโซล คุณจะสังเกตเห็นว่าเช่นเดียวกับอาร์เรย์ เราสามารถเข้าถึงองค์ประกอบต่างๆ ผ่านตำแหน่งดัชนีของมันได้ ดังนั้นในการเข้าถึงตำแหน่งแรกของรายการอาร์เรย์ เราใช้ตำแหน่งดัชนี [0] และอื่น ๆ และอื่น ๆ.

หากป้อนโค้ดด้านบนอย่างถูกต้องแล้วและรันโปรแกรมจะแสดงผลลัพธ์ต่อไปนี้

Output:

ArrayList ใน C #

จากเอาต์พุต คุณจะเห็นว่าองค์ประกอบทั้งหมดจากรายการอาร์เรย์ถูกส่งไปยังคอนโซล

ลองดูวิธีการเพิ่มเติมบางอย่างที่เป็นส่วนหนึ่งของ ArrayList

นับ

วิธีการนี้ใช้เพื่อรับจำนวนรายการในคอลเลกชัน ArrayList ด้านล่างนี้คือไวยากรณ์ทั่วไปของคำสั่งนี้

ArrayList.Count() – วิธีการนี้จะส่งคืนจำนวนองค์ประกอบที่มีอยู่ในรายการอาร์เรย์

ประกอบด้วย

วิธีการนี้ใช้เพื่อดูว่ามีองค์ประกอบอยู่ในคอลเลกชัน ArrayList หรือไม่ ด้านล่างนี้คือไวยากรณ์ทั่วไปของคำสั่งนี้

ArrayList.Contains(element) – เมธอดนี้จะคืนค่าเป็นจริงหากมีองค์ประกอบนั้นอยู่ในรายการ มิเช่นนั้นจะส่งคืนค่าเท็จ

ลบที่

วิธีการนี้ใช้ในการลบองค์ประกอบที่ตำแหน่งเฉพาะในคอลเลกชัน ArrayList ด้านล่างนี้คือไวยากรณ์ทั่วไปของคำสั่งนี้

ArrayList.RemoveAt(index) – วิธีนี้จะลบองค์ประกอบออกจากตำแหน่งเฉพาะของรายการอาร์เรย์

ตอนนี้เรามาดูการทำงานในระดับรหัสกัน โค้ดที่กล่าวถึงด้านล่างทั้งหมดจะถูกเขียนลงในแอปพลิเคชันคอนโซลของเรา รหัสจะถูกเขียนลงในไฟล์ Program.cs ของเรา

ในโปรแกรมด้านล่างเราจะเขียนโค้ดเพื่อดูว่าเราสามารถใช้วิธีการที่กล่าวมาข้างต้นได้อย่างไร

ArrayList ใน C #

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   ArrayList a1 = new ArrayList();
   a1.Add(1);
   a1.Add("Example");
   a1.Add(true);
   
   Console.WriteLine(a1.Count);
   Console.WriteLine(a1.Contains(2));
   Console.WriteLine(a1[1]);
   a1.RemoveAt(1);
   Console.WriteLine(a1[1]);
   Console.ReadKey();
  }
 }
}

คำอธิบายรหัส:-

  1. คุณสมบัติแรกที่เราเห็นคือคุณสมบัติ Count เราได้รับคุณสมบัติ Count ของรายการอาร์เรย์ a1 แล้วเขียนลงในคอนโซล
  2. ในส่วนที่สอง เราใช้เมธอดประกอบด้วยเพื่อดูว่า ArrayList a1 มีองค์ประกอบ 2 หรือไม่ จากนั้นเราจะเขียนผลลัพธ์ไปยังคอนโซลโดยใช้คำสั่ง Writeline
  3. สุดท้ายนี้ เพื่อแสดงวิธีการลบองค์ประกอบ เรากำลังดำเนินการตามขั้นตอนด้านล่าง
    1. ขั้นแรก เราเขียนค่าขององค์ประกอบที่ตำแหน่งดัชนี 1 ของรายการอาร์เรย์ไปยังคอนโซล
    2. จากนั้นเราจะลบองค์ประกอบที่ตำแหน่งดัชนี 1 ของรายการอาร์เรย์
    3. สุดท้ายนี้ เราจะเขียนค่าขององค์ประกอบอีกครั้งที่ตำแหน่งดัชนี 1 ของรายการอาร์เรย์ไปยังคอนโซล ขั้นตอนชุดนี้จะให้แนวคิดที่ยุติธรรมว่าวิธีการลบจะทำงานตามที่ควรจะเป็นหรือไม่

หากป้อนโค้ดด้านบนอย่างถูกต้องแล้วและรันโปรแกรมจะแสดงผลลัพธ์ต่อไปนี้

Output:

ArrayList ใน C #

เหตุใดค่าสุดท้ายจึงเป็นจริง

หากคุณเห็นลำดับของเหตุการณ์ องค์ประกอบ Example จะถูกลบออกจากอาร์เรย์เนื่องจากอยู่ที่ตำแหน่ง 1 ตำแหน่งที่ 1 ของอาร์เรย์จะถูกแทนที่ด้วยสิ่งที่อยู่ในตำแหน่งที่ 2 ก่อนหน้าซึ่งค่า 'จริง'

สรุป

คอลเลกชัน Array List ใช้เพื่อจัดเก็บกลุ่มขององค์ประกอบ ข้อดีของการรวบรวมรายการ Array คือเป็นแบบไดนามิก คุณสามารถเพิ่มและลบองค์ประกอบได้ทันทีไปยังคอลเลกชันรายการอาร์เรย์