El tipo Stack en C#

🏠 Programación intermedia 📅 16 Oct 2021 ⏱️ 5 min 💾 Código 💬 0
🎬 Modo vídeo disponible — Ver este contenido junto con su curso, estilo Udemy

Para continuar con la serie de colecciones en C# vamos a ver el tipo stack dentro de c#.

 

 

1 - Qué es el tipo stack en C#?

El tipo Stack es una colección que almacena elementos de forma LIFO (last in first out), lo que quiere decir que el último elemento que ha entrado, va a ser el primero de la lista.

Es el opuesto al tipo queue que vimos el otro día. 

 

Para utilizarlo podemos utilizarlo con generics, utilizando stack<T> o sin generics el cual almacena un objeto, sinceramente yo siempre lo haría con generics:

stack c#

Como en las colas, podemos iterar como si fuera una lista, pero si quieres iterar, utiliza una lista.

 

 

2 - Crear un stack y añadir elementos en C#

Crear un stack es muy sencillo, únicamente lo instanciamos e incluimos los elementos con el método .push().

Stack<string> marcas = new Stack<string>();
marcas.Push("Audi");
marcas.Push("Opel");
marcas.Push("BMW");

 

 

3 - Recibir elementos de un stack

Para recibir un elemento, tenemos dos opciones:

  •  Pop() el cual nos devolverá el último elemento insertado en dicho stack, y lo remueve del mismo.
  •  Peek() el cual nos devuelve el elemento sin eliminarlo de la cola.
Console.WriteLine($"La última marca insertada es {marcas.Peek()}"); //BMW
Console.WriteLine($"La última marca insertada (otra vez) es {marcas.Pop()}"); //BMW
Console.WriteLine($"La penúltima marca insertada es {marcas.Pop()}"); //Opel

Si intentamos recibir un elemento pero el stack está vacío nos saltará una excepción `InvalidOperationException`

 

 

4 - Stack y colecciones en c#

Como las colas, Stack<T> está dentro de  System.Collections.Generic e implementala interfaz IEnumerable<T> la cual permite iterar.

foreach(string marca in marcas)
    Console.WriteLine(marca);

Pero como con las colas, si vas a iterar de forma “normal(inversa)” es mejor utilizar una lista.

 

También podemos convertir la cola a un array, diccionario, lista, limpiarla utilizando .Clear(), o incluso comprobar si un elemento está en el stack con .Contains(T).

 

 

Conclusión

En este post hemos visto cómo crear un stack en C#.

En este post hemos visto cómo operar un stack en C#. 

Siguiente paso recomendado

🟣 Ruta .NET: De cero a desarrollador profesional

Este artículo forma parte de la fase C# Intermedio. Mira qué viene antes y después.

Continuar con la ruta →

💬 Comentarios

Últimos Posts

Evaluamos GPT-5.6 Sol, Terra y Luna para programar
11 Jul 2026
Evaluación de Fable 5 ¿merece la pena el nuevo modelo de Anthropic?
04 Jul 2026
Análisis del modelo GLM 5.2 para desarrollo
29 Jun 2026

Curso de pago sobre programación con IA

Si, pagaría agusto 88%
Dudas 12%
No, ni de coña 0%

✨ Premium

Contenido exclusivo sin anuncios

Hazte Premium

🏷️ Tags


⚡ Acciones