Để 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
ArgumentOutOfRangeExceptionnế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 namespaceSystem.Collections.ObjectModel