Exemple #1
0
        static void Main(string[] args)
        {
            //Коллекция нетипизированная ОЧЕРЕДЬ
            Queue q1 = new Queue();

            q1.Enqueue("1");
            q1.Enqueue('2');
            q1.Enqueue("Three");
            q1.Enqueue(5);
            Console.WriteLine("First element: " + q1.Peek());
            Console.WriteLine("All elements: " + q1.Count);

            while (q1.Count > 0)
            {
                Console.WriteLine(q1.Dequeue());
            }

            /*
             * foreach (var item in q1)
             *  Console.WriteLine(item);
             */

            //Коллекция СТЕК
            Stack s1 = new Stack();

            s1.Push(6);
            s1.Push("2");
            s1.Push('1');
            s1.Push(3);
            Console.WriteLine("Upper element: " + s1.Peek());
            Console.WriteLine("All elements: " + s1.Count);
            //Извлечение элементов
            while (s1.Count > 0)
            {
                Console.WriteLine(" " + s1.Pop());
            }

            /*
             * //С первого элемента!
             * foreach (var item in s1)
             *  Console.WriteLine(s1.Pop());
             */

            Num n = new Num(2, 5, 9);

            foreach (var item in n)
            {
                Console.WriteLine(item);
            }

            Demo d = new Demo();

            foreach (int item in d)
            {
                Console.WriteLine(item);
            }

            TempRecord tr = new TempRecord();

            //Установка значений через индексатор
            //через set устанавливаются значения
            tr[3] = 15;
            tr[4] = 17;

            //Получение значений через индексатор
            for (int i = 0; i < tr.Length; i++)
            {
                Console.WriteLine("Element #{0} equals {1}", i, tr[i]);
            }

            //пример индексатора где индексатор принимает строку
            DemoStringIndex dm = new DemoStringIndex(5, 6);

            Console.WriteLine("{0}    {1}", dm["first"], dm["second"]);

            DemoArray a = new DemoArray(3, 3);

            for (int i = 0; i < a.LengthN; i++, Console.WriteLine())
            {
                for (int j = 0; j < a.LengthM; j++)
                {
                    a[i, j] = i * j; //использование индексаторов
                    Console.WriteLine("{0,5}", a[i, j]);
                }
            }
            Console.WriteLine();
            try
            {
                //Раскомментировать по очереди чтобы посмотреть на разные ошибки
                //Console.WriteLine(a[3, 3]);
                //a[0, 0] = 200;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            Cat      fluffy   = new Cat();
            Elephant slon     = new Elephant();
            Dog      goldy    = new Dog();
            Patients SickPets = new Patients();

            SickPets.AdmitPatient(fluffy);
            SickPets.AdmitPatient(slon);
            SickPets.AdmitPatient(goldy);
            foreach (object pet in SickPets)
            {
                Console.WriteLine(pet);
            }



            Console.ReadKey();
        }