public T Value { get; set; }
public Node<T> Next { get; set; }
public Node(T value, Node<T> next)
private Node<T> _front = null;
public void Enqueue(T value)
var node = new Node<T>(value, null);
throw new System.InvalidOperationException("La cola está vacia");
var value = _front.Value;
throw new System.InvalidOperationException("La cola está vacia");
public static void Main()
var queue = new Queue<int>();
System.Console.WriteLine(queue.IsEmpty() ? "vacia" : "tiene elementos");
System.Console.WriteLine(queue.Dequeue());
System.Console.WriteLine(queue.Dequeue());
System.Console.WriteLine(queue.Dequeue());
System.Console.WriteLine(queue.IsEmpty() ? "vacia" : "tiene elementos");
System.Console.WriteLine(queue.Dequeue());