示例#1
0
    public static void Run()
    {
        var arr1 = new StringArray();
        var arr2 = new StringArray();

        while (true)
        {
            ShowMenu();
            Console.WriteLine("Выберите опцию: ");
            var option = (MainMenuItem)Int32.Parse(Console.ReadLine());
            Console.WriteLine("");
            switch (option)
            {
            case MainMenuItem.CREATE_ARR_1:
                FulfillArray(arr1);
                break;

            case MainMenuItem.CREATE_ARR_2:
                FulfillArray(arr2);
                break;

            case MainMenuItem.PRINT_AT_INDEX:
            {
                int arrPosition = PickAnArray();
                Console.WriteLine("Введите индекс строки");
                var index = Int32.Parse(Console.ReadLine());
                var arr   = arrPosition == 1 ? arr1 : arr2;
                arr.PrintElementAt(index);
                break;
            }

            case MainMenuItem.PRINT_ARR:
            {
                int arrPosition = PickAnArray();
                var arr         = arrPosition == 1 ? arr1 : arr2;
                arr.Print();
                break;
            }

            case MainMenuItem.MERGE:
            {
                var arr = arr1.MergeWith(arr2);
                arr.Print();
                break;
            }

            case MainMenuItem.MERGE_UNIQUE:
            {
                var arr = arr1.MergeWith(arr2, unique: true);
                arr.Print();
                break;
            }

            case MainMenuItem.INTERSECT:
            {
                var arr = arr1.Intersect(arr2);
                if (arr.Count != 0)
                {
                    arr.Print();
                }
                else
                {
                    Console.WriteLine("Нет пересечений");
                }
                break;
            }

            case MainMenuItem.EXIT:
                Console.WriteLine("Пока!");
                return;

            default:
                Console.WriteLine("Нет такой опции");
                break;
            }
        }
    }