// Продемонстрировать применение класса обобщенной // коллекции 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 с = 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

В коллекции класса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

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

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