public static void Main(string[] args) { IList <object> products = new List <object>(); products.Add("倚天剑"); products.Add("屠龙刀"); products.Add("断肠草"); products.Add("葵花宝典"); products.Add("四十二章经"); AbstractObjectList objectList = new ProductList(products); // 创建聚合对象 AbstractIterator iterator = objectList.CreateIterator(); // 创建迭代器对象 Console.WriteLine("正向遍历"); while (!iterator.IsLast()) { Console.Write(iterator.GetNextItem() + ","); iterator.Next(); } Console.WriteLine(); Console.WriteLine("-------------------------------------------------------"); Console.WriteLine("逆向遍历"); while (!iterator.IsFirst()) { Console.Write(iterator.GetPreviousItem() + ","); iterator.Previous(); } Console.ReadKey(); }
public void GenerateGameOverWindow2() { var BoardIter = new TilesCollection(); for (int i = 0; i < 20; i++) { for (int y = 0; y < 20; y++) { BoardIter[i, y] = TilesSet.GetTile(i, y); } } AbstractIterator iter = BoardIter.CreateIterator(); object item = iter.First(); while (item != null) { Rectangle ColorBlock = new Rectangle(); ColorBlock.Name = ""; ColorBlock.Fill = Brushes.Black; Tile tile = (Tile)item; Grid.SetColumn(ColorBlock, tile.x); Grid.SetRow(ColorBlock, tile.y); gridMain.Children.Add(ColorBlock); item = iter.Next(); } }