public bool Empty { get { return (first == null); } }
public object Pop() { if (first == null) throw new Exception("Can't Pop from an empty Stack."); else { object temp = first.Value; first = first.Next; return temp; } }
public void Push(object o) { first = new Node(o, first); }
class Node { public Node Next;
public object Value;
public Node(object value): this(value, null) {}
public Node(object value, Node next) { Next = next; Value = value; } } }