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

การเพิ่มออบเจ็กต์ไปยังท้าย Collection ใน C#

ภาพรวม

Collection<T> (ใน System.Collections.ObjectModel) ให้เมธอด Add(T item) เพื่อเพิ่มสมาชิกต่อท้าย รองรับการแจ้งเตือนเมื่อมีการเปลี่ยนแปลง (ผ่าน protected methods) เหมาะสำหรับสร้างคอลเลกชันแบบกำหนดเอง

ตัวอย่างที่ 1: เพิ่มจำนวนเต็มและตรวจสอบ Contains

using System;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<int> col = new Collection<int>();
        col.Add(10);
        col.Add(20);
        col.Add(30);
        col.Add(40);
        col.Add(50);
        col.Add(60);
        col.Add(70);
        col.Add(80);

        Console.WriteLine("Elements in the Collection...");
        foreach (int val in col)
        {
            Console.WriteLine(val);
        }

        Console.WriteLine("Does the collection has the element 70? = " + col.Contains(70));
        Console.WriteLine("Count of elements = " + col.Count);
    }
}

ผลลัพธ์

Elements in the Collection...
10
20
30
40
50
60
70
80
Does the collection has the element 70? = True
Count of elements = 8

ตัวอย่างที่ 2: เพิ่มสมาชิกเพิ่มเติมหลังจากสร้าง

using System;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<int> col = new Collection<int>();
        col.Add(10);
        col.Add(20);
        col.Add(30);
        col.Add(40);
        col.Add(50);
        col.Add(60);
        col.Add(70);
        col.Add(80);

        Console.WriteLine("Elements in the Collection...");
        foreach (int val in col)
        {
            Console.WriteLine(val);
        }

        Console.WriteLine("Count of elements = " + col.Count);

        col.Add(100);
        col.Add(150);
        col.Add(200);

        Console.WriteLine("Elements in the Collection...UPDATED");
        foreach (int val in col)
        {
            Console.WriteLine(val);
        }

        Console.WriteLine("Count of elements...UPDATED = " + col.Count);
    }
}

ผลลัพธ์

Elements in the Collection...
10
20
30
40
50
60
70
80
Count of elements = 8
Elements in the Collection...UPDATED
10
20
30
40
50
60
70
80
100
150
200
Count of elements...UPDATED = 11

สรุป

  • Add เพิ่มต่อท้ายเสมอ (O(1) amortized)
  • Contains ค้นหาแบบทีละตัว (O(n))
  • Collection<T> เป็น base class สำหรับสร้างคอลเลกชันเฉพาะเจาะจง ได้ override InsertItem SetItem RemoveItem ClearItems เพื่อเพิ่มพฤติกรรม