ใน C# คลาส ArrayList มีเมธอด Remove(object) ที่ลบ รายการแรกที่พบ (first occurrence) ของอ็อบเจ็กต์ที่ระบุ คืนค่า void หากไม่พบรายการนั้นก็ไม่เกิดอะไรขึ้น (ไม่โยน exception)
ตัวอย่างโค้ด: ลบจาก ArrayList ที่มีค่าซ้ำ
using System;
using System.Collections;
public class Demo
{
public static void Main(string[] args)
{
ArrayList list1 = new ArrayList();
list1.Add("A");
list1.Add("B");
list1.Add("C");
list1.Add("D");
list1.Add("E");
list1.Add("F");
list1.Add("G");
list1.Add("H");
list1.Add("I");
Console.WriteLine("Elements in ArrayList1...");
foreach (string res in list1)
{
Console.WriteLine(res);
}
ArrayList list2 = new ArrayList();
list2.Add("A");
list2.Add("B");
list2.Add("C");
list2.Add("D");
list2.Add("E");
list2.Add("F");
list2.Add("G");
list2.Add("H");
list2.Add("I");
list2.Add("G"); // ซ้ำ
list2.Add("I"); // ซ้ำ
Console.WriteLine("Elements in ArrayList2...");
foreach (string res in list2)
{
Console.WriteLine(res);
}
Console.WriteLine("Count of elements in ArrayList2 = " + list2.Count);
list2.Remove("G"); // ลบ G ตัวแรกที่พบ
Console.WriteLine("Elements in ArrayList2... (UPDATED)");
foreach (string res in list2)
{
Console.WriteLine(res);
}
Console.WriteLine("Count of elements in ArrayList2 (Updated) = " + list2.Count);
}
}
ผลลัพธ์
Elements in ArrayList1...
A
B
C
D
E
F
G
H
I
Elements in ArrayList2...
A
B
C
D
E
F
G
H
I
G
I
Count of elements in ArrayList2 = 11
Elements in ArrayList2... (UPDATED)
A
B
C
D
E
F
H
I
G
I
Count of elements in ArrayList2 (Updated) = 10
ตัวอย่างเพิ่มเติม: ลบ Tablet
using System;
using System.Collections;
public class Demo
{
public static void Main(string[] args)
{
ArrayList list = new ArrayList();
list.Add("Laptop");
list.Add("Dektop"); // ตัวอย่าง typo ในต้นฉบับ
list.Add("Wearables");
list.Add("Tablet");
list.Add("Notebook");
list.Add("Ultrabooks");
Console.WriteLine("Elements in ArrayList...");
foreach (string res in list)
{
Console.WriteLine(res);
}
Console.WriteLine("Count of elements in ArrayList = " + list.Count);
list.Remove("Tablet");
Console.WriteLine("Elements in ArrayList... (UPDATED)");
foreach (string res in list)
{
Console.WriteLine(res);
}
Console.WriteLine("Count of elements in ArrayList (Updated) = " + list.Count);
}
}
ผลลัพธ์
Elements in ArrayList...
Laptop
Dektop
Wearables
Tablet
Notebook
Ultrabooks
Count of elements in ArrayList = 6
Elements in ArrayList... (UPDATED)
Laptop
Dektop
Wearables
Notebook
Ultrabooks
Count of elements in ArrayList (Updated) = 5
เมธอดลบข้อมูลใน ArrayList สรุป
| เมธอด | คำอธิบาย |
|---|---|
Remove(object) | ลบรายการแรกที่พบของอ็อบเจ็กต์นั้น |
RemoveAt(int index) | ลบที่ดัชนีที่ระบุ |
RemoveRange(int index, int count) | ลบช่วงของรายการ |
Clear() | ลบทั้งหมด |
ข้อควรระวัง
- ArrayList ใช้
Equals()ในการเปรียบเทียบอ็อบเจ็กต์ - ลบได้เฉพาะ ตัวแรกที่พบ เท่านั้น
- ไม่โยน exception หากไม่พบ - เพียงแค่ไม่ทำอะไร
- ในโค้ดใหม่ ควรใช้
List<T>แทน เพื่อ type safety และประสิทธิภาพ