Обобщенные коллекции определяются в ряде интерфейсов и классов, реализующих эти интерфейсы. Все они описываются далее по порядку.
Интерфейсы обобщенных коллекций
В пространстве имен
System. Collections. Genericопределен целый ряд интерфейсов обобщенных коллекций, имеющих соответствующие аналоги среди интерфейсов необобщенных коллекций. Все эти интерфейсы сведены в табл. 25.10.Таблица 25.10. Интерфейсы обобщенных коллекций
Интерфейс Описание
lCollection
коллекций
1Сотрагег<т>
Определяет обобщенный метод Compare () для сравнения объектов, хранящихся в коллекции lDictionary“ключ-значение"
Интерфейс
Описание
IEnumerable
Определяет обобщенный метод GetEnumerator (),
-
предоставляющий перечислитель для любого класса
коллекции
Enumerator
Предоставляет методы, позволяющие получать содержи
мое коллекции по очереди
IEqualityComparer
Сравнивает два объекта на предмет равенства
IList
Определяет обобщенную коллекцию, доступ к которой
можно получить с помощью индексатора
Интерфейс ICollection
В интерфейсе
ICollectionИтак, в интерфейсе
ICollectionint 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