Collections Data Structure C#

/*
Learning C# 
by Jesse Liberty
Publisher: O'Reilly 
ISBN: 0596003765
*/
 using System;
 using System.Collections;
 namespace QueueDemo
 {
    public class TesterQueueDemo
    {
       public void Run()
       {
           Queue intQueue = new Queue();
           // populate the array
           for (int i = 0;i<5;i++)
           {
               intQueue.Enqueue(i*5);
           }
           // Display the Queue.
           Console.Write( "intQueue values:\t" );
           DisplayValues( intQueue );
           // Remove an element from the Queue.
           Console.WriteLine(
               "\n(Dequeue)\t{0}", intQueue.Dequeue() );
           // Display the Queue.
           Console.Write( "intQueue values:\t" );
           DisplayValues( intQueue );
           // Remove another element from the queue.
           Console.WriteLine(
               "\n(Dequeue)\t{0}", intQueue.Dequeue() );
           // Display the Queue.
           Console.Write( "intQueue values:\t" );
           DisplayValues( intQueue );
           // View the first element in the
           // Queue but do not remove.
           Console.WriteLine(
               "\n(Peek)   \t{0}", intQueue.Peek() );
           // Display the Queue.
           Console.Write( "intQueue values:\t" );
           DisplayValues( intQueue );
       }
        public static void DisplayValues( IEnumerable myCollection )
        {
            IEnumerator myEnumerator =
                myCollection.GetEnumerator();
            while ( myEnumerator.MoveNext() )
                Console.Write( "{0} ",myEnumerator.Current );
            Console.WriteLine();
        }
       [STAThread]
       static void Main()
       {
          TesterQueueDemo t = new TesterQueueDemo();
          t.Run();
       }
    }
 }