// Добавить элементы в коллекцию, 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 Пайк, Томас, зарплата: $45,000.00 Фрэнк, Эд, зарплата: $99,000.00 Шварц, Сара, зарплата: $59,000.00

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

Класс SortedListCTKey, TValue>

В коллекции классаSortedListхранится отсортированный список пар "ключ-значение". Это обобщенный эквивалент класса необобщенной коллекцииSortedList.В классеSortedListреализуются интерфейсыIDictionary, IDictionary, ICollection, ICollection>, IEnumerableиIEnumerableРазмер коллекции типаSortedListизменяется динамически, автоматически увеличиваясь по мере необходимости. КлассSortedListподобен классуSortedDictionary,но у него другие рабочие характеристики. В частности, классSortedListcTKey, TValue>использует меньше памяти, тогда как классSortedDicti-onaryпозволяет быстрее вставлять неупорядоченные элементы в коллекцию.

В классеSortedListcTKey, TValue>предоставляется немало конструкторов. Ниже перечислены наиболее часто используемые конструкторы этого класса.

public SortedList ()

public SortedList(IDictionaryCTKey, TValue>dictionary)

public SortedList(intcapacity)

public SortedList(IComparercomparer)

В первой форме конструктора создается пустой список с выбираемой по умолчанию первоначальной емкостью. Во второй форме конструктора создается отсортированный список с указанным количеством элементовdictionary.В третьей форме конструктора с помощью параметраcapacityзадается емкость коллекции, создаваемой в виде отсортированного списка. Если размер списка заранее известен, то, указав емкость создаваемой коллекции, можно исключить изменение размера списка во время выполнения, что, как правило, требует дополнительных затрат вычислительных ресурсов. И в четвертой форме конструктора допускается указывать с помощью параметраcomparerспособ сравнения объектов, содержащихся в списке.

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

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