static void Main(string[] args) { var shelf = new BookShelf(); for (int i = 0; i < 10; i++) { shelf.AppendBook(new Book("name" + i)); } var iter = shelf.Iterator(); while (iter.HasNext()) { Console.WriteLine(iter.Next().Name); } }
/// <summary> /// イテレータパターン実行 /// </summary> public static void Run() { BookShelf bookShelf = new BookShelf(); //本棚obj生成 // 本を追加していく bookShelf.appendBook(new Book("エロ本")); bookShelf.appendBook(new Book("技術書")); bookShelf.appendBook(new Book("マンガ")); // この本棚を参照するイテレータを生成する IIterator it = bookShelf.Iterator(); // 要素がなくなるまで繰り返し while (it.HasNext()) { Book book = (Book)it.Next(); Console.WriteLine(book.Name); } }