コード例 #1
0
ファイル: StackWork.cs プロジェクト: IlyaLukin/HSE.Projects
        //Запросы
        private void Queries <T>()
        {
            string[] queriesMenu = { "Кол-во объектов.", "Печать объектов.", "Перегенерировать объекты", "Назад." };
            while (true)
            {
                var sw = Print.Menu(0, queriesMenu);
                switch (sw)
                {
                case 1:
                    var count = 0;
                    foreach (var person in _stack)
                    {
                        try {
                            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;
                            CreateIPerson.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(CreateIPerson.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 = Print.Menu(0, queriesMenu);
                switch (sw)
                {
                case 1:
                    var count = 0;
                    foreach (var key in _persons.Keys)
                    {
                        try {
                            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];
                            CreateIPerson.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 {
                            _persons.Remove(key);
                            count++;
                        }
                        catch {
                            // ignored
                        }
                    }

                    for (var i = 0; i < count; i++)
                    {
                        var add = CreateIPerson.CreateElement <T>();
                        _persons.Add(add.Return_SeName() + " " + add.Return_Name(), add);
                    }

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

                case 4:
                    return;
                }
            }
        }