Иллюстрированный самоучитель по Visual Basic .NET

IDictionary

Интерфейс IDictionary представляет коллекцию, в которой доступ к данным осуществляется по ключу – как в хэш-таблицах, описанных в предыдущей главе. Более того, класс хэш-таблиц в числе прочих реализует интерфейсы IDictionary, ICollection, Enumerable и ICloneable!

Хотя интерфейс IDictionary объявляется производным от Enumerable и переход к следующему элементу может осуществляться методом MoveNext, обычно такая возможность не используется – коллекции, реализующие IDictionary, ориентируются в первую очередь на обращение по ключу, а не на последовательный перебор элементов. По этой причине интерфейс IDictionary зависит от интерфейса IDictionaryEnumerator, который расширяет Enumerator и дополняет его тремя новыми свойствами:

  • Entry: возвращает пару "ключ/значение" для текущего элемента словаря.
  • Key: возвращает текущий ключ.
  • Value: возвращает ссылку на текущее значение.

Примечание
В .NET Framework входит класс DictionaryBase. Определяя класс производным от DictionaryBase, вы получаете в свое распоряжение всю функциональность интерфейса IDictionary
.

Члены класса IDictionary перечислены в табл. 5.4.

Примечание
Поскольку ключи в ассоциативных коллекциях должны быть уникальными, при реали-зации большинства методов необходимо сначала проверить, не был ли заданный ключ использован ранее. Свойство Keys возвращает объект, реализующий ICollection; уникальность ключа проверяется методом Contains интерфейса ICollection
.

Таблица 5.4. Члены интерфейса IDictionary.

Метод/свойство Описание
IsFixedSize (свойство) Логическое свойство. Показывает, имеет ли коллекция фиксированный размер
IsReadOnly (свойство) Логическое свойство. Показывает, доступна ли коллекция только для чтения
Item (свойство) Свойство доступно для чтения и записи. Используется для получения и присваивания значения объекта с заданным индексом
Keys (свойство) Возвращает объект, реализующий интерфейс ICollection и содержащий все ключи ассоциативной коллекции
Values (свойство) Возвращает объект, реализующий интерфейс ICollection и содержащий все значения ассоциативной коллекции
Add(ByVal key As Object, ByVal value As Object) (метод) Добавляет объект с заданным ключом (ключ должен быть уникальным)
Clear (метод) Удаляет все элементы из ассоциативной коллекции
Contains (ByVal key As Object) As Boolean (метод) Ищет значение с заданным ключом
GetEnumerator (метод) Возвращает объект IDictionaryEnumerator для работы с ключами и значениями
Remove(ByVal key As Object) (метод) Удаляет элемент с заданным ключом
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.