Отправляет email-рассылки с помощью сервиса Sendsay

Финансы. Инструкция

  Все выпуски  

Уроки по C# и .NET.


Уроки по C#. Рассылки сайта progs.biz
Выпуск № 96
 
Начало > C# > Основы > Урок 65

Дональд Херн, М. Паулин Бейкер. Компьютерная графика и стандарт OpenGL.
Дональд Херн, М. Паулин Бейкер. Компьютерная графика и стандарт OpenGL
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 65.

Основы C#
Урок 65. Класс Stack

Класс Stack предназначен для хранения некоторых данных произвольного типа. Он находится в пространстве имен System.Collections.

Основной принцип действия этого класса - "первый вошел, последний вышел".

Вот пример использования этого класса:

// Создаем класс для добавления его экземпляров в стек.
class DataClass
{
    public int a;
    public int b;
    public DataClass(int a, int b)
    {
        this.a = a;
        this.b = b;
    }
    public override string ToString()
    {
        return "a = " + a + ", b = " + b;
    }
}

Теперь займемся непосредственно стеком.

// Добавляем данные в стек.
Stack st = new Stack();
DataClass q = new DataClass(2, 3);
st.Push(q);
q = new DataClass(10, 100);
st.Push(q);

// Смотрим последние добавленные данные (без удаления их из стека).
DataClass t = (DataClass)st.Peek();
Console.WriteLine(t);
Console.WriteLine("Count: " + st.Count);
Console.WriteLine();

// Извлекаем последние добавленные данные (с удалением их из стека).
t = (DataClass)st.Pop();
Console.WriteLine(t);
Console.WriteLine("Count: " + st.Count);
Console.WriteLine();

t = (DataClass)st.Pop();
Console.WriteLine(t);
Console.WriteLine("Count: " + st.Count);
Console.WriteLine();

Пример достаточно ясен из комментариев.

Класс Stack позволет обойти все свои элементы. Это можно сделать, например, вот так:

    foreach (DataClass d in st)
    {
        Console.WriteLine(d.ToString());
    }

Обратите внимание, на то, что тип данных в стеке не определен (вернее, в стеке хранятся данные типа Object). Поэтому мы везде вынуждены делать приведение типов.

Из других полезных методов и свойств следует отметить еще Clear (очищает весь стек), Contains (позволяет определить, содержит ли наш стек какой-нибудь элемент), ToArray (возвращает массив, состоящий из элементов стека).

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2006 сайт progs.biz
© 2002-2006 Игорь Алексеев

В избранное