// Использовать ключи для получения значений, т.е. зарплаты, 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
В коллекции классаSortedDictionaryпары "ключ-значение" хранятся таким же образом, как и в коллекции классаDictionaryCTKey, TValue>,за исключением того, что они отсортированы по соответствующему ключу. В классеSortedDictionaryреализуются интерфейсыIDictionary, IDictionary, ICollection, ICollection>, IEnumerableиIEnumerable>.В классеSortedDictionaryпредоставляются также следующие конструкторы.
public SortedDictionary
public SortedDictionary(IDictionarydictionary)
public SortedDictionary(IComparercomparer)
public SortedDictionary(IDictionaryCTKey, TValue>dictionary,
IComparercomparer)
В первом конструкторе создается пустой словарь, во втором конструкторе — словарь с указанным количеством элементовdictionary.В третьем конструкторе допускается указывать с помощью параметраcomparerтипаIComparerспособ сравнения, используемый для сортировки, а в четвертом конструкторе — инициализировать словарь, помимо указания способа сравнения.
В классеSortedDictionaryопределен ряд методов. Некоторые наиболее часто используемые методы этого класса сведены в табл. 25.18.
Таблица 25.18. Наиболее часто используемые методы, определенные в классе SortedDictionaryCTKey, TValue>
Метод Описание
public void Add (TKeykey, Добавляет в словарь пару “ключ-значение", TValue value) определяемую параметрами key и value. Если
ключ key уже находится в словаре, то его значение не изменяется, и генерируется исключение ArgumentException public bool ContainsKey (TKey Возвращает логическое значение true, если вызыва-кеу) ющий словарь содержит объект key в качестве клю-
_ча; в противном случае — логическое значение false
Метод
Описание
public bool
ContainsValue(TValuevalue)public bool Remove(TKeykey)
Возвращает логическое значение true, если вызывающий словарь содержит значение value; в противном случае — логическое значение false Удаляет ключ key из словаря. При удачном исходе операции возвращается логическое значение true, а если ключ key отсутствует в словаре — логическое значение false
Кроме того, в классеSortedDictionaryопределяются собственные свойства, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Эти свойства приведены ниже.
Свойство
Описание
public Icomparer Comparer { get; ]
public SortedDictionaryCTKey, TValue>. KeyCollection Keys { get; } public SortedDictionary. ValueCollection Values { get; }
\ Получает метод сравнения для вызывающего словаря Получает коллекцию ключей
Получает коллекцию значений