Giới thiệu
Collection<T> (namespace System.Collections.ObjectModel) là lớp cơ sở cho các tập hợp tùy chỉnh. Thuộc tính Count trả về số lượng phần tử hiện có.
Ví dụ 1: Đếm phần tử chuỗi và duyệt tập hợp
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("Count of elements = " + col.Count);
Console.WriteLine("Iterating through the collection...");
var enumerator = col.GetEnumerator();
while (enumerator.MoveNext())
{
Console.WriteLine(enumerator.Current);
}
}
}
Kết quả
Count of elements = 9 Iterating through the collection... Andy Kevin John Kevin Mary Katie Barry Nathan Mark
Ví dụ 2: Đếm phần tử số nguyên, kiểm tra tồn tại và xóa
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 have the element 70? = " + col.Contains(70));
Console.WriteLine("Count of elements = " + col.Count);
col.Clear();
Console.WriteLine("Count of elements (updated) = " + col.Count);
}
}
Kết quả
Elements in the Collection... 10 20 30 40 50 60 70 80 Does the collection have the element 70? = True Count of elements = 8 Count of elements (updated) = 0
Đặc điểm của Collection<T>
- Cung cấp các phương thức ảo có thể ghi đè (
InsertItem,SetItem,RemoveItem,ClearItems) - Hỗ trợ giao diện
IList<T>,ICollection<T>,IEnumerable<T> - Phù hợp làm lớp cơ sở cho tập hợp tùy chỉnh có logic validation