static void Main(string[] args) { ConcreteAggregate a = new ConcreteAggregate(); a[0] = "Item A"; a[1] = "Item B"; a[2] = "Item C"; a[3] = "Item D"; // Create Iterator and provide aggregate AbstractIterator i = a.CreateIterator(); Console.WriteLine("Iterating over collection:"); object item = i.First(); while (item != null) { Console.WriteLine(item); item = i.Next(); } // Wait for user Console.ReadKey(); }
private static void PrintStudents(AbstractIterator iter) { for (iter.First(); !iter.IsDone(); iter.MoveNext()) { iter.GetCurrent().DisplayStudent(); } }
public override void Display() { Console.WriteLine(_name + " " + _section); AbstractIterator iter = CreateIterator(); for (iter.First(); !iter.IsDone(); iter.MoveNext()) { iter.GetCurrent().Display(); } }