🥞 Stack (Pilas – LIFO)
La torre de tortitas. Last In, First Out (el último plato que pones encima es el primero que quitas, como el historial de pantallas de un menú).
⚙️ Estructura
Una Pila en C# se puede describir como una lista de elementos en un orden específico, donde cada elemento es agregado al final de la lista y eliminado del principio. Las Pilas se utilizan comúnmente para gestionar la secuencia de eventos o la secuencia de tareas a realizar en un programa.
📝 Ventajas
- Fácil de utilizar: Las Pilas son fáciles de utilizar y no requieren mucha lógica compleja.
- Eficaz: Las Pilas son eficaces para gestionar la secuencia de eventos o la secuencia de tareas a realizar en un programa.
- Flexibles: Las Pilas pueden ser utilizadas para almacenar una variedad de tipos de datos.
🚧 Desventajas
- No permiten la inserción en cualquier posición: Las Pilas no permiten la inserción en cualquier posición, solo en el final de la pila.
- No permiten la eliminación de cualquier elemento: Las Pilas no permiten la eliminación de cualquier elemento, solo del principio de la pila.

🖥️ Código fuente – CRUD (ejemplo)
Creación
public class Jugador
{
public string Nombre { get; set; }
public int Puntos { get; set; }
}
public class Juego
{
private Stack<Jugador> jugadores;
public Juego()
{
jugadores = new Stack<Jugador>();
}
public void AgregarJugador(Jugador jugador)
{
jugadores.Push(jugador);
}
}
Lectura
public Jugador ObtenerJugador()
{
if (jugadores.Count > 0)
{
return jugadores.Peek();
}
else
{
return null;
}
}
Modificación
public void ActualizarJugador(Jugador jugador)
{
if (jugadores.Count > 0)
{
Jugador jugadorActual = jugadores.Peek();
jugadorActual.Nombre = jugador.Nombre;
jugadorActual.Puntos = jugador.Puntos;
}
}
Eliminación
public void EliminarJugador()
{
if (jugadores.Count > 0)
{
jugadores.Pop();
}
}