а также для добавления в коллекцию нового элемента. Но в данном случае в качестве

индекса служит ключ элемента, а не сам индекс.

В приведенном ниже примере демонстрируется применение класса

SortedListЭто еще один измененный вариант представленного

ранее примера базы данных работников. В данном варианте база данных хранится в коллекции типаSortedList.

// Продемонстрировать применение класса обобщенной // коллекции SortedList.

using System;

using System.Collections.Generic;

class GenSLDemo {

static void Main() {

// Создать коллекцию в виде отсортированного списка // для хранения имен и фамилий работников и их зарплаты.

SortedList si =

new SortedList();

// Добавить элементы в коллекцию, si.Add("Батлер, Джон", 73000); si.Add("Шварц, Capa", 59000); si.Add("Пайк, Томас", 45000); si.Add("Фрэнк, Эд", 99000);

// Получить коллекцию ключей, т.е. фамилий и имен.

ICollection с = si.Keys;

// Использовать ключи для получения значений, т.е. зарплаты, foreach(string str in с)

Console.WriteLine("{0}, зарплата: {1:C}", str, si[str]);

Console.WriteLine();

}

}

Ниже приведен результат выполнения этой программы.

Батлер, Джон, зарплата: $73,000.00 Пайк, Томас, зарплата: $45,000.00 Фрэнк, Эд, зарплата: $99,000.00 Шварц, Сара, зарплата: $59,000.00

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

Класс Stack

КлассStackявляется обобщенным эквивалентом класса необобщенной коллекцииStack.В нем поддерживается стек в виде списка, действующего по принципу "первым пришел — последним обслужен". В этом классе реализуются интерфейсыCollection, IEnumerableиIEnumerable.Кроме того, в классеStackнепосредственно реализуются методыClear(),Contains() иСоруТоО,определенные в интерфейсеICollection.А методыAdd() иRemove() в этом классе не поддерживаются, как, впрочем, и свойствоIsReadOnly.Коллекция классаStackимеет динамический характер, расширяясь по мере необходимости, чтобы вместить все элементы, которые должны в ней храниться. В классеStackопределяются следующие конструкторы.

public Stack()

public Stack(intcapacity)

public Stack(IEnumerablecollection)

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

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

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