static void Main(string[] args) { // TODO: шаг 5 /* * В клиентском коде и в классах коллекций не должно остаться кода обхода элементов. * Клиент должен получать новый итератор из объекта коллекции каждый раз, когда ему нужно перебрать её элементы. */ Aggregate a = new ConcreteAggregate(); Iterator i = a.CreateIterator(); if (!i.IsDone()) { object item = i.First(); while (!i.IsDone()) { item = i.Next(); } } //------------------------------------------------------------------------------------------------------------ // step 2 Library library = new Library(); Reader reader = new Reader(); reader.SeeBooks(library); Console.Read(); }
static void Print(Iterator <string> iterator) { for (iterator.First(); !iterator.IsDone(); iterator.Next()) { Console.WriteLine(iterator.CurrentItem()); } }
private void button1_Click(object sender, EventArgs e) { iterator.Next(); // I would not normally do something so useless but I felt the need to show // of the IsDone() method. if (iterator.IsDone()) { lbl_age.Text = ""; lbl_name.Text = "There are no people left."; } else { SetLblTxt(); } }
static void Main(string[] args) { ConcreteAggregate aggregate = new ConcreteAggregate(); for (int i = 0; i < 10; i++) { aggregate.SetItems(i, "求职者" + (i + 1)); } Iterator iterator = aggregate.CreateIterator(); while (!iterator.IsDone()) { Console.WriteLine(iterator.CurrentItem() + "来我公司面试"); iterator.Next(); } }
static void Main(string[] args) { ConcreteAggregate aggregate = new ConcreteAggregate(); aggregate[0] = "A"; aggregate[1] = "B"; aggregate[2] = "C"; aggregate[3] = "D"; aggregate[4] = "E"; Iterator iterator = aggregate.CreateIterator(); object item = iterator.First(); while (!iterator.IsDone()) { Console.WriteLine(item); item = iterator.Next(); } }
static void Main(string[] args) { ConcreateAggregate concreateAggregate = new ConcreateAggregate(); for (int i = 0; i < 10; i++) { concreateAggregate[i] = new Random().Next(); } //Iterator iterator=new ConcreateIterator(concreateAggregate); Iterator iterator = concreateAggregate.CreateIterator(); object item = iterator.First(); while (!iterator.IsDone()) { Console.WriteLine(iterator.CurrentItem()); iterator.Next(); } Console.ReadKey(); }
static void Main(string[] args) { ConcreteAggregate ca = new ConcreteAggregate(); ca[0] = "test1"; ca[1] = "test2"; ca[2] = "test3"; //Iterator iterator = new ConcreteIterator(ca); Iterator iterator = ca.CreateIterator(); object obj = iterator.First(); while (!iterator.IsDone()) { Console.WriteLine(iterator.CurrentItem().ToString()); iterator.Next(); } Console.Read(); }