Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        public AlphabeticalOrderIterator(WordsCollection collection, bool reverse = false)
        {
            this._collection = collection;
            this._reverse    = reverse;

            if (reverse)
            {
                this._position = collection.getItems().Count;
            }
        }