コード例 #1
0
ファイル: StackWork.cs プロジェクト: cuptain/lab12
        //Запросы
        private void Queries <T>()
        {
            string[] queriesMenu = { "Кол-во объектов.", "Печать объектов.", "Перегенерировать объекты", "Назад." };
            while (true)
            {
                var sw = Use.Menu(0, "Выберите нужную опцию:", queriesMenu);
                switch (sw)
                {
                case 1:
                    var count = 0;
                    foreach (var person in _stack)
                    {
                        try
                        {
                            var element = (T)person;
                            count++;
                        }
                        catch
                        {
                            // ignored
                        }
                    }

                    Console.
                    WriteLine("Кол-во объектов выбранного типа = {0}.\n\n\nДля продолженния нажать на любую клавишу...",
                              count);
                    Console.ReadKey(true);
                    break;

                case 2:
                    Console.WriteLine("Объекты выбранного типа: ");
                    foreach (var person in _stack)
                    {
                        try
                        {
                            var element = (T)person;
                            IPersonCreate.Show(element);
                        }
                        catch
                        {
                            // ignored
                        }
                    }

                    Console.WriteLine("\n\n\nДля продолженния нажать на любую клавишу...");
                    Console.ReadKey(true);
                    break;

                case 3:
                    count = 0;
                    var array = _stack.ToArray();
                    foreach (var person in _stack)
                    {
                        try
                        {
                            var element = (T)person;
                            RemoveFromArray(ref array, (IPerson)element);
                            count++;
                        }
                        catch
                        {
                            // ignored
                        }
                    }

                    CreateStack(array);
                    for (var i = 0; i < count; i++)
                    {
                        _stack.Push(IPersonCreate.CreateElement <T>());
                    }
                    Console.
                    WriteLine("Объекты выбранного типы были перезаписаны.\n\n\nДля продолженния нажать на любую клавишу...");
                    Console.ReadKey(true);
                    break;

                case 4:
                    return;
                }
            }
        }
コード例 #2
0
        //Запросы
        private void Queries <T>()
        {
            string[] queriesMenu = { "Количество объектов", "Печать объектов", "Перегенерировать объекты", "Назад" };
            while (true)
            {
                var sw = Use.Menu(0, "Выберите нужный пункт:", queriesMenu);
                switch (sw)
                {
                case 1:
                    var count = 0;
                    foreach (var key in _persons.Keys)
                    {
                        try
                        {
                            var element = (T)_persons[key];
                            count++;
                        }
                        catch
                        {
                            // ignored
                        }
                    }

                    Console.
                    WriteLine("Кол-во объектов выбранного типа = {0}.\n\n\nДля продолженния нажать на любую клавишу...",
                              count);
                    Console.ReadKey(true);
                    break;

                case 2:
                    Console.WriteLine("Объекты выбранного типа: ");
                    foreach (var key in _persons.Keys)
                    {
                        try
                        {
                            var element = (T)_persons[key];
                            IPersonCreate.Show(element);
                        }
                        catch
                        {
                            // ignored
                        }
                    }

                    Console.WriteLine("\n\n\nДля продолженния нажать на любую клавишу...");
                    Console.ReadKey(true);
                    break;

                case 3:
                    count = 0;
                    var tmp = new SortedDictionary <string, IPerson>(ClonaDictionary());
                    foreach (var key in tmp.Keys)
                    {
                        try
                        {
                            var element = (T)_persons[key];
                            _persons.Remove(key);
                            count++;
                        }
                        catch
                        {
                            // ignored
                        }
                    }

                    for (var i = 0; i < count; i++)
                    {
                        var add = IPersonCreate.CreateElement <T>();
                        _persons.Add(add.Return_se_name() + " " + add.Return_name(), add);
                    }

                    Console.
                    WriteLine("Объекты выбранного типы были перезаписаны.\n\n\nДля продолженния нажать на любую клавишу...");
                    Console.ReadKey(true);
                    break;

                case 4:
                    return;
                }
            }
        }