Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Xóa phần tử tại chỉ mục chỉ định của Collection trong C#

Để xóa phần tử tại chỉ mục chỉ định của Collection trong C#, bạn sử dụng phương thức RemoveAt(int index). Phương thức này xóa phần tử ở vị trí index (tính từ 0) và dịch chuyển các phần tử phía sau lên một vị trí.

Ví dụ 1: Xóa một phần tử đơn lẻ

using System;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<string> col = new Collection<string>();
        col.Add("Andy");
        col.Add("Kevin");
        col.Add("John");
        col.Add("Kevin");
        col.Add("Mary");
        col.Add("Katie");
        col.Add("Barry");
        col.Add("Nathan");
        col.Add("Mark");

        Console.WriteLine("Số lượng phần tử = " + col.Count);
        Console.WriteLine("Duyệt qua collection...");
        foreach (var item in col)
        {
            Console.WriteLine(item);
        }

        // Xóa phần tử tại chỉ mục 3 (phần tử thứ 4: "Kevin")
        col.RemoveAt(3);

        Console.WriteLine("\nSố lượng phần tử (đã cập nhật) = " + col.Count);
        Console.WriteLine("Duyệt qua collection... (đã cập nhật)");
        foreach (var item in col)
        {
            Console.WriteLine(item);
        }
    }
}

Kết quả

Số lượng phần tử = 9
Duyệt qua collection...
Andy
Kevin
John
Kevin
Mary
Katie
Barry
Nathan
Mark

Số lượng phần tử (đã cập nhật) = 8
Duyệt qua collection... (đã cập nhật)
Andy
Kevin
John
Mary
Katie
Barry
Nathan
Mark

Ví dụ 2: Xóa nhiều phần tử liên tiếp

Lưu ý: Khi xóa nhiều phần tử, hãy xóa từ chỉ mục cao xuống thấp để tránh lệch chỉ mục.

using System;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<string> col = new Collection<string>();
        col.Add("One");
        col.Add("Two");
        col.Add("Three");
        col.Add("Four");
        col.Add("Five");
        col.Add("Six");

        Console.WriteLine("Số lượng phần tử = " + col.Count);
        Console.WriteLine("Duyệt qua collection...");
        foreach (var item in col)
        {
            Console.WriteLine(item);
        }

        // Xóa từ chỉ mục cao xuống thấp
        col.RemoveAt(3); // Xóa "Four"
        col.RemoveAt(2); // Xóa "Three" (sau khi xóa Four, chỉ mục 2 giờ là Three)
        col.RemoveAt(1); // Xóa "Two"

        Console.WriteLine("\nSố lượng phần tử (đã cập nhật) = " + col.Count);
        Console.WriteLine("Duyệt qua collection... (đã cập nhật)");
        foreach (var item in col)
        {
            Console.WriteLine(item);
        }
    }
}

Kết quả

Số lượng phần tử = 6
Duyệt qua collection...
One
Two
Three
Four
Five
Six

Số lượng phần tử (đã cập nhật) = 3
Duyệt qua collection... (đã cập nhật)
One
Five
Six

Lưu ý quan trọng

  • Chỉ mục bắt đầu từ 0
  • Ném ArgumentOutOfRangeException nếu chỉ mục âm hoặc >= Count
  • Khi xóa nhiều phần tử, duyệt ngược từ chỉ mục cao xuống thấp
  • Collection<T> nằm trong namespace System.Collections.ObjectModel