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

ลบรายการแรกที่พบใน ArrayList ใน C#

ใน 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 และประสิทธิภาพ