Beispiel #1
0
 /// <summary>
 /// Заполняет список объектов Box
 /// </summary>
 /// <param name="boxes">Ссылка на список</param>
 /// <param name="n">Количество элементов для добавления</param>
 private static void GenerateListOfKorobochek(EKRLib.Collection <Box> boxes, int n)
 {
     while (boxes.Count != n + 1)
     {
         try
         {
             boxes.Add(GenerateBox());
         }
         catch (ArgumentException e)
         {
             Console.WriteLine($"Исключение при создании коробочки: {e.Message}");
             continue;
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// Сериализует список объектов Box в Json
        /// </summary>
        /// <param name="boxes">Список объектов</param>
        private static void SerializeKorobochki(EKRLib.Collection <Box> boxes)
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(boxes.GetType());

            try
            {
                using (var sw = new FileStream(writePath, FileMode.Create))
                {
                    serializer.WriteObject(sw, boxes);
                }
            }
            catch (IOException e)
            {
                Console.WriteLine($"Ошибка ввода/вывода при записи в файл: {e.Message}");
            }
            catch (Exception e)
            {
                Console.WriteLine($"Ошибка при записи в файл: {e.Message}");
            }
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            // Цикл повтора решения.
            do
            {
                EKRLib.Collection <Box> boxes = new EKRLib.Collection <Box>();

                int n = ReadInt("Введите количество элементов коллекции: ");

                GenerateListOfKorobochek(boxes, n);

                foreach (var box in boxes)
                {
                    Console.WriteLine(box);
                }

                SerializeKorobochki(boxes);

                Console.WriteLine("Для выхода нажмите ESC...");
            } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            // Цикл повтора решения.
            do
            {
                var boxes = new EKRLib.Collection <Box>();
                boxes = DeserializeKorobochki(boxes);

                //linq1
                Console.WriteLine("\t = LINQ 1 =");
                LinqQueryMaxDimensionOverThreeOrderByMaxDimension(boxes);

                //linq2
                Console.WriteLine("\t = LINQ 2 =");
                LinqQueryGroupByWeight(boxes);

                //linq3
                Console.WriteLine("\t = LINQ 3 =");
                LinqQueryListOfMaxWeightItems(boxes);

                Console.WriteLine("Для выхода нажмите ESC...");
            } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
        }