C # - Classe Stack

Representa uma coleção de objetos do último a entrar, primeiro a sair. É usado quando você precisa de um acesso último a entrar, primeiro a sair dos itens. Quando você adiciona um item na lista, isso é chamado de empurrar o item e quando você o remove, é chamado de puxar o item.

Métodos e propriedades da classe Stack

A tabela a seguir lista alguns comumente usados properties do Stack classe -

Sr. Não. Descrição da Propriedade
1

Count

Obtém o número de elementos contidos na Pilha.

A tabela a seguir lista alguns dos comumente usados methods do Stack classe -

Sr. Não. Método e Descrição
1

public virtual void Clear();

Remove todos os elementos da pilha.

2

public virtual bool Contains(object obj);

Determina se um elemento está na pilha.

3

public virtual object Peek();

Retorna o objeto no topo da pilha sem removê-lo.

4

public virtual object Pop();

Remove e retorna o objeto no topo da pilha.

5

public virtual void Push(object obj);

Insere um objeto no topo da Pilha.

6

public virtual object[] ToArray();

Copia a pilha para uma nova matriz.

Exemplo

O exemplo a seguir demonstra o uso de Stack -

using System;
using System.Collections;

namespace CollectionsApplication {
   class Program {
      static void Main(string[] args) {
         Stack st = new Stack();
         
         st.Push('A');
         st.Push('M');
         st.Push('G');
         st.Push('W');
         
         Console.WriteLine("Current stack: ");
         foreach (char c in st) {
            Console.Write(c + " ");
         }
         Console.WriteLine();
         
         st.Push('V');
         st.Push('H');
         Console.WriteLine("The next poppable value in stack: {0}", st.Peek());
         Console.WriteLine("Current stack: ");
         
         foreach (char c in st) {
            Console.Write(c + " ");
         }
         
         Console.WriteLine();
         
         Console.WriteLine("Removing values ");
         st.Pop();
         st.Pop();
         st.Pop();
         
         Console.WriteLine("Current stack: ");
         foreach (char c in st) {
            Console.Write(c + " ");
         }
      }
   }
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

Current stack: 
W G M A
The next poppable value in stack: H
Current stack: 
H V W G M A
Removing values
Current stack: 
G M A