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

วิธีลบค่าที่พบครั้งแรกใน StringCollection ใน C#

บทความนี้สาธิตวิธีการลบค่าที่พบครั้งแรกใน StringCollection โดยใช้ method Remove(string value)

ตัวอย่างที่ 1: ลบ "100" ที่พบครั้งแรก

using System;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        StringCollection stringCol = new StringCollection();
        String[] arr = new String[] { "100", "200", "100", "400", "500" };

        Console.WriteLine("Array elements...");
        foreach (string res in arr)
        {
            Console.WriteLine(res);
        }

        stringCol.AddRange(arr);

        Console.WriteLine("Total number of elements = " + stringCol.Count);

        stringCol.Remove("100");

        Console.WriteLine("Total number of elements now = " + stringCol.Count);
    }
}

ผลลัพธ์

Array elements...
100
200
100
400
500
Total number of elements = 5
Total number of elements now = 4

ตัวอย่างที่ 2: ลบหลายค่าติดต่อกัน

using System;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        StringCollection stringCol = new StringCollection();
        String[] arr = new String[] { "10", "20", "30", "40", "50", "60", "70", "80" };

        Console.WriteLine("Array elements...");
        foreach (string res in arr)
        {
            Console.WriteLine(res);
        }

        stringCol.AddRange(arr);

        Console.WriteLine("Total number of elements = " + stringCol.Count);

        stringCol.Remove("50");
        stringCol.Remove("60");
        stringCol.Remove("70");

        Console.WriteLine("Total number of elements now = " + stringCol.Count);
    }
}

ผลลัพธ์

Array elements...
10
20
30
40
50
60
70
80
Total number of elements = 8
Total number of elements now = 5

คำอธิบายเพิ่มเติม

  • StringCollection เป็น collection เฉพาะสำหรับ string (strongly-typed)
  • Remove(string value) ลบค่าที่พบครั้งแรก คืนค่า void
  • ถ้าค่าไม่มีอยู่ จะไม่เกิด error - silent ignore
  • ใช้ AddRange(string[]) เพิ่มอาร์เรย์ทั้งชุดได้ครั้งเดียว
  • เวลา complexity: O(n) - ต้องค้นหา linear
  • Method อื่นๆ: RemoveAt(index) ลบตามดัชนี, Clear() ลบทั้งหมด, Contains(value) ตรวจสอบว่ามีค่าหรือไม่