Читаем C# 4.0 полное руководство - 2011 полностью

Обобщенные коллекции определяются в ряде интерфейсов и классов, реализующих эти интерфейсы. Все они описываются далее по порядку.

Интерфейсы обобщенных коллекций

В пространстве именSystem. Collections. Genericопределен целый ряд интерфейсов обобщенных коллекций, имеющих соответствующие аналоги среди интерфейсов необобщенных коллекций. Все эти интерфейсы сведены в табл. 25.10.

Таблица 25.10. Интерфейсы обобщенных коллекций


Интерфейс Описание

lCollection Определяет основополагающие свойства обобщенных

коллекций

1Сотрагег<т> Определяет обобщенный метод Compare () для сравнения объектов, хранящихся в коллекции lDictionary Определяет обобщенную коллекцию, состоящую из пар

“ключ-значение"


Окончание табл. 25.10


Интерфейс


Описание


IEnumerable


Определяет обобщенный метод GetEnumerator (),


-


предоставляющий перечислитель для любого класса


коллекции


Enumerator


Предоставляет методы, позволяющие получать содержи


мое коллекции по очереди


IEqualityComparer


Сравнивает два объекта на предмет равенства


IList


Определяет обобщенную коллекцию, доступ к которой


можно получить с помощью индексатора


Интерфейс ICollection

В интерфейсеICollectionопределен ряд свойств, которые являются общими для всех обобщенных коллекций. ИнтерфейсICollectionявляется обобщенным вариантом необобщенного интерфейсаicollection,хотя между ними имеются некоторые отличия.

Итак, в интерфейсеICollectionопределены следующие свойства.

int Count { get; } bool IsReadOnly { get; }

СвойствоCountсодержит ряд элементов, хранящихся в данный момент в коллекции. А свойствоIsReadOnlyимеет логическое значениеtrue,если коллекция доступна только для чтения. Если же коллекция доступна как для чтения, так и для записи, то данное свойство имеет логическое значение false.

Кроме того, в интерфейсеICollectionопределены перечисленные ниже методы. Обратите внимание на то, что в этом обобщенном интерфейсе определено несколько большее количество методов, чем в его необобщенном аналоге.


Метод


Описание


void Add(Titem)

void Clear()

bool Contains(Titem)

void CopyTo(T[]array,intarraylndex)

void Remove(Titem)


Добавляет элемент item в вызывающую коллекцию. Генерирует исключение NotSupportedException, если коллекция доступна только для чтения Удаляет все элементы из вызывающей коллекции Возвращает логическое значение true, если вызывающая коллекция содержит элемент item, а иначе — логическое значение false

Копирует содержимое вызывающей коллекции в массив array, начиная с элемента, указываемого по индексу

arraylndex

Удаляет первое вхождение элемента item в вызывающей коллекции. Возвращает логическое значение true, если элемент i tem удален. А если этот элемент не найден в вызывающей коллекции, то возвращается логическое значение false


Некоторые из перечисленных выше методов генерируют исключениеNotSupportedException,если коллекция доступна только для чтения.

А поскольку интерфейсICollectionнаследует от интерфейсовIEnumerableиIEnumerable,то он включает в себя также обобщенную и необобщенную формы методаGetEnumerator ().

Перейти на страницу:

Похожие книги

1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных