.NET Framework Apilar


Ejemplo

Hay una colección en .Net utilizada para administrar valores en una Stack que usa el concepto LIFO (último en entrar, primero en salir) . Los conceptos básicos de las pilas es el método Push(T item) que se usa para agregar elementos en la pila y Pop() que se usa para obtener el último elemento agregado y eliminarlo de la pila. La versión genérica se puede utilizar como el siguiente código para una cola de cadenas.

Primero, agregue el espacio de nombres:

using System.Collections.Generic;

y úsalo:

Stack<string> stack = new Stack<string>();
stack.Push("John");
stack.Push("Paul");
stack.Push("George");
stack.Push("Ringo");

string value;
value = stack.Pop(); // return Ringo
value = stack.Pop(); // return George
value = stack.Pop(); // return Paul
value = stack.Pop(); // return John

Existe una versión no genérica del tipo, que funciona con objetos.

El espacio de nombres es:

using System.Collections;

Y un ejemplo de código de pila no genérica:

Stack stack = new Stack();
stack.Push("Hello World"); // string
stack.Push(5); // int
stack.Push(1d); // double
stack.Push(true); // bool
stack.Push(new Product()); // Product object

object value;
value = stack.Pop(); // return Product (Product type)
value = stack.Pop(); // return true (bool)
value = stack.Pop(); // return 1d (double)
value = stack.Pop(); // return 5 (int)
value = stack.Pop(); // return Hello World (string)

También hay un método llamado Peek () que devuelve el último elemento agregado pero sin eliminarlo de la Stack .

Stack<int> stack = new Stack<int>();
stack.Push(10);
stack.Push(20);

var lastValueAdded = stack.Peek(); // 20

Es posible iterar sobre los elementos en la pila y respetará el orden de la pila (LIFO).

Stack<int> stack = new Stack<int>();
stack.Push(10);
stack.Push(20);
stack.Push(30);
stack.Push(40);
stack.Push(50);

foreach (int element in stack)
{
   Console.WriteLine(element);
}

La salida (sin quitar):

50
40
30
20
10