Добавляет в словарь пару “ключ-значение", определяемую параметрами key и value. Если ключ key уже находится в словаре, то его значение не изменяется, и генерируется исключение ArgumentException

public

key)

bool

ContainsKey(TKey

Возвращает логическое значение true, если вызывающий словарь содержит объект key в качестве ключа; а иначе — логическое значение false

public

value)

bool

ContainsValue(TValue

Возвращает логическое значение true, если вызывающий словарь содержит значение value; в противном случае — логическое значение false

public

bool

Remove(TKeykey)

Удаляет ключ key из словаря. При удачном исходе операции возвращается логическое значение true, а если ключ key отсутствует в словаре — логическое значение false

Кроме того, в классеDictionaryопределяются собственные свойства, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Эти свойства приведены ниже.

Свойство

Описание

public IEqualityComparer Comparer { get; } public Dictionary. KeyCollection Keys { get; } public Dictionary. ValueCollection Values { get; }

Получает метод сравнения для вызывающего словаря

Получает коллекцию ключей -Получает коллекцию значений

Следует иметь в виду, что ключи и значения, содержащиеся в коллекции, доступны отдельными списками с помощью свойствKeysиValues.В коллекциях типаDictionaryCTKey, TValue>.KeyCollectionи Dictionary. ValueCollectionреализуются как обобщенные, так и необобщенные формы интерфейсовICollectionиIEnumerable.

И наконец, в классеDictionaryCTKey, TValue>реализуется приведенный ниже индексатор, определенный в интерфейсеIDictionary

public TValue this[TKey key] { get; set; }

Этот индексатор служит для получения и установки значения элемента коллекции, а также для добавления в коллекцию нового элемента. Но в качестве индекса в данном случае служит ключ элемента, а не сам индекс.

При перечислении коллекции типаDictionaryCTKey, TValue>из нее возвращаются пары "ключ-значение7' в форме структурыKeyValuePairCTKey, TValueXНапомним, что в этой структуре определяются два поля.

public TKey Key; public TValue Value;

В этих полях содержится ключ или значение соответствующего элемента коллекции. Как правило, структураKeyValuePairCTKey, TValue>не используется непосредственно, поскольку средства классаDictionaryCTKey, TValue>позволяют работать с ключами и значениями по отдельности. Но при перечислении коллекции типаDictionaryCTKey, TValue>,например, в циклеforeachперечисляемыми объектами являются пары типаKeyValuePair.

Все ключи в коллекции типаDictionaryCTKey, TValue>должны быть уникальными, причем ключ не должен изменяться до тех пор, пока он служит в качестве ключа. В то же время значения не обязательно должны быть уникальными. К тому же объекты не хранятся в коллекции типаDictionaryCTKey, TValue>в отсортированном порядке.

В приведенном ниже примере демонстрируется применение класса

DictionaryCTKey, TValueX

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

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