Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
417 of 1492 menu
◀ ▶

Интерфейс 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,
    который копирует элементы в массив
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить