Обобщенные коллекции определяются в ряде интерфейсов и классов, реализующих эти интерфейсы. Все они описываются далее по порядку.
Интерфейсы обобщенных коллекций
В пространстве именSystem. Collections. Genericопределен целый ряд интерфейсов обобщенных коллекций, имеющих соответствующие аналоги среди интерфейсов необобщенных коллекций. Все эти интерфейсы сведены в табл. 25.10.
Таблица 25.10. Интерфейсы обобщенных коллекций
Интерфейс Описание
lCollection
коллекций
1Сотрагег<т> Определяет обобщенный метод Compare () для сравнения объектов, хранящихся в коллекции lDictionary
“ключ-значение"
Интерфейс
Описание
IEnumerable
Определяет обобщенный метод GetEnumerator (),
-
предоставляющий перечислитель для любого класса
коллекции
Enumerator
Предоставляет методы, позволяющие получать содержи
мое коллекции по очереди
IEqualityComparer
Сравнивает два объекта на предмет равенства
IList
Определяет обобщенную коллекцию, доступ к которой
можно получить с помощью индексатора
Интерфейс ICollection
В интерфейсеICollection
Итак, в интерфейсеICollection
int Count { get; } bool IsReadOnly { get; }
СвойствоCountсодержит ряд элементов, хранящихся в данный момент в коллекции. А свойствоIsReadOnlyимеет логическое значениеtrue,если коллекция доступна только для чтения. Если же коллекция доступна как для чтения, так и для записи, то данное свойство имеет логическое значение false.
Кроме того, в интерфейсеICollection
Метод
Описание
void Add(T
void Clear()
bool Contains(T
void CopyTo(T[]
void Remove(T
Добавляет элемент
Копирует содержимое вызывающей коллекции в массив
Удаляет первое вхождение элемента
Некоторые из перечисленных выше методов генерируют исключениеNotSupportedException,если коллекция доступна только для чтения.
А поскольку интерфейсICollection