Dictionarycstring, double> diet =
new Dictionarycstring, double>();
// Добавить элементы в коллекцию, diet.Add('Батлер, Джон', 73000); diet.Add('Шварц, Capa', 59000); diet.Add('Пайк, Томас', 45000); diet.Add('Фрэнк, Эд', 99000);
// Получить коллекцию ключей, т.е. фамилий и имен.
ICollection<string> с = diet.Keys;
// Использовать ключи для получения значений, т.е. зарплаты, foreach(string str in с)
Console.WriteLine ('{0}, зарплата: {1:C}', str, diet[str]);
}
}
Ниже приведен результат выполнения этой программы.
Батлер, Джон, зарплата: $73,000.00 Шварц, Сара, зарплата: $59,000.00 Пайк, Томас, зарплата: $45,000.00 Фрэнк, Эд, зарплата: $99,000.00
Класс SortedDictionary<TKey, TValue>
В коллекции класса SortedDictionary<TKey, TValue> пары 'ключ-значение' хранятся таким же образом, как и в коллекции класса DictionaryCTKey, TValue>, за исключением того, что они отсортированы по соответствующему ключу. В классе SortedDictionary<TKey, TValue> реализуются интерфейсы IDictionary, IDictionary<TKey, TValue>, ICollection, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable иIEnumerable<KeyValuePair<TKey, TValue>>. В классе SortedDictionary<TKey, TValue> предоставляются также следующие конструкторы.
public SortedDictionary()
public SortedDictionary(IDictionary<TKey, TValue>
public SortedDictionary(IComparer<TKey>
public SortedDictionary(IDictionaryCTKey, TValue>
IComparer<TKey>
В первом конструкторе создается пустой словарь, во втором конструкторе — словарь с указанным количеством элементов
В классе SortedDictionary<TKey, TValue> определен ряд методов. Некоторые наиболее часто используемые методы этого класса сведены в табл. 25.18.
Таблица 25.18. Наиболее часто используемые методы, определенные в классе SortedDictionaryCTKey, TValue>
Метод Описание
public void Add (TKey
ключ
_ча; в противном случае — логическое значение false
Метод
Описание
public bool
ContainsValue(TValue
Возвращает логическое значение true, если вызывающий словарь содержит значение
Кроме того, в классе SortedDictionary<TKey, TValue> определяются собственные свойства, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Эти свойства приведены ниже.
Свойство
Описание
public Icomparer<TKey> Comparer { get; ]
public SortedDictionaryCTKey, TValue>. KeyCollection Keys { get; } public SortedDictionary<TKey, TValue>. ValueCollection Values { get; }
Получает коллекцию значений
Следует иметь в виду, что ключи и значения, содержащиеся в коллекции, доступны отдельными списками с помощью свойств Keys и Values. В коллекциях типа
