private static void RunIteratorPattern() { PrintOutputTitle("Iterator"); var aggregate = new Iterator.ConcreteAggregate(); aggregate[0] = "A"; aggregate[1] = "B"; aggregate[2] = "C"; Iterator.Iterator iterator = aggregate.CreateIterator(); Console.WriteLine($"Item {iterator.First()}"); while (!iterator.IsDone()) { Console.WriteLine($"Item {iterator.Next()}"); } }