static void Main(string[] args) { // Клиентский код может знать или не знать о Конкретном Итераторе // или классах Коллекций, в зависимости от уровня косвенности, // который вы хотите сохранить в своей программе. var collection = new WordsCollection(); collection.AddItem("N1"); collection.AddItem("N2"); collection.AddItem("N3"); collection.AddItem("N4"); collection.AddItem("N5"); collection.AddItem("N6"); collection.AddItem("N7"); collection.AddItem("N8"); collection.AddItem("N9"); Console.WriteLine("Straight traversal:"); foreach (var element in collection) { Console.WriteLine(element); } Console.WriteLine("\nReverse traversal:"); collection.ReverseDirection(); foreach (var element in collection) { Console.WriteLine(element); } Console.ReadLine(); }
public AlphabeticalOrderIterator(WordsCollection collection, bool reverse = false) { this._collection = collection; this._reverse = reverse; if (reverse) { this._position = collection.getItems().Count; } }