static void Main15()
        {
            Console.WriteLine("Hello Iterator Pattern!");

            var a = new ConcretedAggregate();

            a[0] = "[0]";
            a[1] = "[1]";
            a[2] = "[2]";
            a[3] = "[3]";
            a[4] = "[4]";
            a[5] = "[5]";

            Iterator i    = new ConcretedIterator(a);
            object   item = i.First();

            while (!i.IsDone())
            {
                Console.WriteLine("{0}, please purchase the ticket!", i.CurrentItem());
                item = i.Next();//下一乘客
                Console.WriteLine("******************************************************");
                Console.WriteLine("The next one is {0}", item);
                Console.WriteLine("------------------------------------------------------");
            }
            Console.Read();

            Console.ReadLine();
        }
 public ConcretedIterator(ConcretedAggregate concretedAggregate)
 {
     this.concretedAggregate = concretedAggregate;
 }