Читаем C# 4.0 полное руководство - 2011 полностью

В классеStackопределяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются, а также в интерфейсеICollection.Некоторые из наиболее часто используемых методов этого класса перечислены в табл. 25.20. Как и в классеStack,эти методы обычно применяются следующим образом.Длятого чтобы поместить объект на вершине стека, вызывается методPush(). А для того чтобы извлечь и удалить объект из вершины стека, вызывается методPop (). Если же объект требуется только извлечь, но не удалить из вершины стека, то вызывается методРеек(). А если вызвать методPop() илиРеек(), когда вызывающий стек пуст, то сгенерируется исключениеInvalidOperationException.

Таблица 25.20. Методы, определенные в классе Stack


Метод


Описание


public


T Peek()


Возвращает элемент, находящийся на вершине стека, но не удаляет его


public


T Pop()


Возвращает элемент, находящийся на вершине стека, удаляя его в процессе работы


public


void Push(Titem)


Помещает элемент i tern в стек


public


T[] ToArrayO


Возвращает массив, содержащий копии элементов вызывающего стека


public


void TrimExcessO


Сокращает избыточную емкость вызывающей коллекции в виде стека


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

// Продемонстрировать применение класса Stack. using System;

using System.Collections.Generic;

class GenStackDemo { static void Main() {

Stack st = new Stack();

st.Push("один"); st.Push("два"); st.Push("три"); st.Push("четыре"); st.Push("пять");

while(st.Count > 0) { string str = st.Pop();

Console.Write(str + " ");

}

Console.WriteLine ();    '

}

}

При выполнении этой программы получается следующий результат.

пять четыре три два один

Класс Queue

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

public Queue()

public Queue(intcapacity)

public Queue(IEnumerablecollection)

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

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

1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных