public IEqualityComparer
Получает метод сравнения для вызывающего словаря
Получает коллекцию ключей -Получает коллекцию значений
Следует иметь в виду, что ключи и значения, содержащиеся в коллекции, доступны отдельными списками с помощью свойствKeysиValues.В коллекциях типаDictionaryCTKey, TValue>.KeyCollectionи Dictionary
И наконец, в классе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
// Продемонстрировать применение класса обобщенной // коллекции DictionaryCTKey, TValueX
using System;
using System.Collections.Generic;
class GenDictionaryDemo { static void Main {
// Создать словарь для хранения имен и фамилий // работников и их зарплаты.
Dictionarycstring, double> diet =
new Dictionarycstring, double>;
// Добавить элементы в коллекцию, diet.Add("Батлер, Джон", 73000); diet.Add("Шварц, Capa", 59000); diet.Add("Пайк, Томас", 45000); diet.Add("Фрэнк, Эд", 99000);
// Получить коллекцию ключей, т.е. фамилий и имен.
ICollection