public ArrayWorkers()
 {
     BaseWorker[] depar = new BaseWorker[5];
     depar[0] = new FixedWorker("Иван", "Петров", 8000);
     depar[1] = new FlowingWorker("Сергей", "Иванов", 300);
     depar[2] = new FixedWorker("Кузьмин", "Григорий", 6000);
     depar[3] = new FlowingWorker("Коперник", "Михаил", 600);
     depar[4] = new FixedWorker("Васюткин", "Дмитрий", 9600);
 }
Exemple #2
0
        static void Main(string[] args)
        {
            string[] exampleNames =
            {
                "Иванов Петр",
                "Петров Иван",
                "Павлов Александр",
                "Смирнов Максим",
                "Васильев Артем",
                "Попов Никита",
                "Соколов Дмитрий",
                "Михайлов Егор",
                "Федоров Михаил",
                "Морозов Алексей"
            };

            BaseWorker[] bw = new BaseWorker[10];

            Random rnd = new Random();

            // заполнение массива BaseWorker[]
            for (int i = 0; i < bw.Length; i++)
            {
                if (rnd.Next(0, 2) == 1)
                {
                    bw[i] = new FixedSalaryWorker(exampleNames[i], rnd.Next(10, 100));
                }
                else
                {
                    bw[i] = new HourlySalaryWorker(exampleNames[i], rnd.Next(10, 100));
                }
            }

            Console.WriteLine("Исходный массив:\n");
            foreach (var worker in bw)            // исходный массив
            {
                Console.WriteLine($"{worker.fullName, -20} {worker.AverageSalaryPerMonth(), 10 : 0.00}");
            }

            Console.WriteLine("\nОтсортированный массив:\n");
            Array.Sort(bw);
            foreach (var worker in bw)            // отсортированный массив
            {
                Console.WriteLine($"{worker.fullName, -20} {worker.AverageSalaryPerMonth(), 10 : 0.00}");
            }

            // пример использования перечеслителя
            Console.WriteLine("\nПример использования перечислителя:\n");
            BaseWorkerEnumerator bwEn = new BaseWorkerEnumerator(bw);

            foreach (BaseWorker worker in bwEn)
            {
                Console.WriteLine($"{worker.fullName, -20} {worker.AverageSalaryPerMonth(), 10 : 0.00}");
            }

            Console.WriteLine("\nНажмите Enter, чтобы сгенерировать исключение...");
            Console.ReadLine();

            // object может принимать любые значения
            Object[] ob = new Object[2];

            ob[0] = new FixedSalaryWorker("John Johnson", 100);
            ob[1] = 20;

            try
            {
                Array.Sort(ob);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + " " + e.InnerException.Message);
            }

            Console.ReadLine();
        }