ICollection\<T> — это обобщенный интерфейс в C#, который определяет общие функции для работы с коллекциями данных. ICollection\<T> реализуется большинством классов коллекций в .NET, включая List\<T>, HashSet\<T>, Dictionary\<TKey, TValue> и др. ICollection\<T> наследуется от IEnumerable\<T> и добавляет методы и свойства, которые позволяют: * Получить число элементов в коллекции (Count). * Добавить элемент в коллекцию (Add). * Определить, содержится ли элемент в коллекции (Contains). * Удалить элемент из коллекции (Remove). * Удалить все элементы из коллекции (Clear). * Скопировать элементы коллекции в массив (CopyTo). * Узнать, является ли коллекция только для чтения (IsReadOnly). Обратите внимание, что некоторые коллекции, например HashSet\<T> и Dictionary\<TKey, TValue>, реализуют ICollection\<T> по-своему. В HashSet\<T>, например, метод Add возвращает значение bool, которое показывает, был ли элемент успешно добавлен или нет (то есть, не было ли такого элемента уже в коллекции).