Методы, определенные в интерфейсе IDictionary
Метод | Описание |
void Add (object key, object v) | Добавляет в вызывающую коллекцию пару ключ/значение, заданную параметрами key и v. Ключ key не должен быть нулевым. Если окажется, что ключ key уже хранится в коллекции, генерируется исключение типа ArgumentException. |
void Clear() | Удаляет все пары ключ/значение из вызывающей коллекции. |
bool Contains ( object key) | Возвращает значение true, если вызывающая коллекция содержит объект key в качестве ключа. В противном случае возвращает значение false. |
iDictionaryEnumerator GetEnumerator( ) | Возвращает перечислитель для вызывающей коллекции. |
void Remove ( object key) | Удаляет элемент, ключ которого равен значению key |
В интерфейсе IDictionary определены следующие свойства:
Свойство | Описание |
bool isFixedsize { get; } | Равно значению true, если словарь имеет фиксированный размер. |
bool isReadOniy { get; } | Равно значению true, если словарь предназначен только для чтения. |
iCollection Keys { get; } | Получает коллекцию ключей |
iCollection Values { get; } | Получает коллекцию значений. |
С помощью свойств Keys и Values ключи и значения, хранимые в словарной коллекции, можно получить в виде отдельных списков.
В интерфейсе IDictionary определен следующий индексатор:
object this [object key] { get; set; }
Этот индексатор можно использовать для получения или установки значения элемента. Его можно также использовать для добавления в коллекцию нового элемента. "Индекс" в данном случае не является обычным индексом, а ключом элемента.
Интерфейс IDictionaryEnumerator
Класс коллекции, который реализует интерфейс IDictionary, предназначен для хранения пар ключ/значение. Для опроса элементов в такой коллекции используется интерфейс IDictionaryEnumerator, а не lEnumerator.
Класс IDictionaryEnumerator является производным от класса lEnumerator и дополнительно определяет "свои" три свойства. Первое объявляется так:
DictionaryEntry Entry { get; }
Два остальные свойства интерфейса IDictionaryEnumerator:
object Key { get; }
object Value { get; }
Свойство Entry с помощью перечислителя позволяет получить следующую пару ключ/значение в форме структуры типа DictionaryEntry.
Пример.
Hashtable ht = new Hashtable();
ht.Add ("Анатолий", "555-3456");
ht.Add ("Александр", "555-3452");
IDictionaryEnumerator etr = ht.GetEnumerator();
While (etr.MoveNext())
Console.WriteLine(etr.Entry.Key + ": " + etr.Entry.Value);
Структура DictionaryEntry
Дата добавления: 2019-02-08; просмотров: 628;