Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Работа с типом Stack

Работа с типом Stack

Тип System.Collections.Stack представляет коллекцию, в которой элементы размещаются по правилу "последним прибыл – первым обслужен". Как и следует ожидать, Stack определяет члены с именами Push() и Pop() (для добавления элементов в стек и удаления их из стека). В следующем примере стека используется стандартный тип System.String.

static void Main(string[] args) {
 …
 Stack stringStack = new Stack();
 stringStack.Push("Первый");
 stringStack.Push("Второй");
 stringStack.Push("Третий");
 // Смотрим на первый элемент, удаляем его и смотрим снова.
 Console.WriteLine("Первый элемент: {0}", stringStack.Peek());
 Console.WriteLine("Удален {0}", stringStack.Pop());
 Console.WriteLine("Первый элемент: {0}", stringStack.Peek());
 Console.WriteLine("Удален {0}", stringStack.Pop());
 Console.WriteLine("Первый элемент: {0}", stringStack.Peek());
 Console.WriteLine("Удален {0}", stringStack.Pop());
 try {
  Console.WriteLine("Первый элемент: {0}", stringStack.Peek());
  Console.WriteLine ("Удален {0}", stringStack.Pop());
 } catch(Exception e) {Console.WriteLine("Ошибка: {0}", e.Message);}
}

Здесь строится стек, содержащий три строковых типа (названных в соответствии с порядком их вставки). "Заглядывая" в стек, вы видите элемент, находящийся на вершине стека, поэтому первый вызов Peek() выявляет третью строку. После серии вызовов Pop() и Peek() стек, в конечном счете, опустошается, и тогда дополнительный вызов Peek()/Pop() приводит к генерированию системного исключения.

Исходный код. Проект CollectionTypes размещен в подкаталоге, соответствующем главе 7.

Оглавление книги


Генерация: 1.258. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз