Интерфейс ICollection
Интерфейс ICollection<T> расширяет
IEnumerable<T>
свойством Count, методами Add,
Clear, Contains, Remove
и CopyTo. List<T> его реализует.
Синтаксис
int Count { get; }
void Add(T item);
void Clear();
Пример
Давайте используем List как ICollection:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
ICollection<int> col = nums;
Console.WriteLine(col.Count);
}
}
Результат выполнения кода:
5
Пример
Давайте добавим элемент через ICollection:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
ICollection<int> col = nums;
col.Add(6);
Console.WriteLine(col.Count);
}
}
Результат выполнения кода:
6
Пример
Давайте проверим Contains:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
ICollection<int> col = nums;
Console.WriteLine(col.Contains(3));
}
}
Результат выполнения кода:
True
Пример
Давайте скопируем в массив:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
ICollection<int> col = nums;
int[] arr = new int[5];
col.CopyTo(arr, 0);
Console.WriteLine(string.Join(" ", arr));
}
}
Результат выполнения кода:
1 2 3 4 5
Смотрите также
-
интерфейс
IList,
который добавляет доступ по индексу -
интерфейс
IReadOnlyCollection,
который запрещает изменение -
свойство
Count,
которое совпадает с Count интерфейса -
метод
CopyTo,
который копирует элементы в массив