//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
//  
using System;
using System.Collections;

namespace FrameworkLibraries
{
	public class StackMain 
	{
		static void Main(string [] args)
		{
			Stack stack = new Stack();
			stack.Push("Pierwszy");
			stack.Push("Drugi");
			stack.Push("Trzeci");
			stack.Push("Czwarty");
			stack.Push("Piąty");
			Console.WriteLine("Licznik: {0}", stack.Count);
			foreach(string s in stack)
			{
				Console.WriteLine(s);
			}
			string sobj;
			sobj = (string)stack.Pop();
			Console.WriteLine("{0} {1}", stack.Count, sobj);
			sobj = (string)stack.Pop();
			Console.WriteLine("{0} {1}", stack.Count, sobj);
			sobj = (string)stack.Pop();
			Console.WriteLine("{0} {1}", stack.Count, sobj);
			sobj = (string)stack.Pop();
			Console.WriteLine("{0} {1}", stack.Count, sobj);
			sobj = (string)stack.Pop();
			Console.WriteLine("{0} {1}", stack.Count, sobj);
		}
	}
}