Example #1
0
        static void Main(string[] args)
        {
            //Console.WriteLine("hello world");

            /*
             * Завдання:
             *  1.	Створіть застосунок та оголосіть  в ньому  структуру відповідно до свого варіанту.
             *  Виконай наступні дії із структурою:
             *      a.	Оголосіть всі можливі конструктори. (+)
             *      b.	Продемонструйте роботу із всіма можливими конструкторами структури. (+)
             *      c.	Покажіть в коді неможливість використання структури в якості базової. (?)
             *      d.	Покажіть в коді неможливість наслідування структурою іншої структури або класу. (+)
             *      e.	Продемонструйте роботу методу Equals та поясніть отриманий результат. (+)
             *      f.	Продемонструйте роботу методу ToString. Модифікуйте цей метод. (+)
             *  2.	Створіть застосунок та оголосіть  в ньому  клас відповідно до свого варіанту. Клас повинен містити:
             *      a.	Властивості. (+)
             *      b.	Автоматичні властивості. (+)
             *      c.	Індексатор. ()
             *      d.	Властивість для статичного поля. (+)
             *  3.	Додатково для поглибленого вивчення: переглянути, як виглядають властивості та
             *  індексатори в коді MSIL. Продемонструвати код  MSIL при захисті лабораторної роботи. ()
             *
             *  Варіанти структур та класів:
             *  Варіант 9:
             *      Об'єкти – меблі ( шафи, ліжка, дивани, столи) у магазині. Поля (атрибути):
             *          •	Назва
             *          •	Кількість
             *          •	Ціна
             */


            FurnitureStruct table = new FurnitureStruct("Desk", 5, 200);
            FurnitureStruct sofa  = new FurnitureStruct(table);

            table.Echo();
            Console.WriteLine("");
            sofa.Echo();
            Console.WriteLine("Are these objects equal ? : {0}", Object.Equals(table, sofa));
            Console.WriteLine("Execute ToString method with some created object : {0}", table.ToString());

            FurnitureClass chair = new FurnitureClass("chair", 5, 250);

            Console.WriteLine("The price in dollars for chair is {0}", chair.PriceInDollars);
            chair.ChangeTitle = "GamingChair";
            Console.WriteLine("Changed title for chair is {0}", chair.ChangeTitle);
            Console.WriteLine("I changed something {0}", FurnitureClass.ChangeSmth = "IDK");
            //write to x, if %2 == 0, else - to y
            //chair[4] = 25;
            //Console.WriteLine(chair[4]);



            Console.ReadKey();
        }
Example #2
0
        static void Main(string[] args)
        {
            //Console.WriteLine("BGDN");

            //Завдання:
            //На базі класів із попередньої лабораторної роботи створіть додаток для демонстрації в коді наступних можливостей:
            //1.Навести приклад використання 3 статичних методів класу Array (+)
            //2.Використання ключових слів const та readonly (+)
            //3.Способів передачі параметрів у метод
            //    a.За значенням(value та reference) (+)
            //    b.Використання ключових слів ref та  out в тому числі і out в с#7. (+)
            //    c.Застосування ключового слова params (+)
            //    d.Передача іменованих аргументів. (+)
            //    e.Використання необов‘язкових аргументів (+)
            //    f.Створити метод, який може приймає два або більше параметрів (+)
            //4.Використання статичних змінних та методів
            //5.  * Додаткове завдання:
            //            a.Розібрати теоретично різницю між const та readonly.
            //            b.Класс містить два масиви: одновимірний та двовимірний.Реалізувати індексатор, який може працювати з одновимірним або двовимірним масивом в залежності від ситуації.
            //            c.Розібрати роботу статичних класів.


            FurnitureClass table = new FurnitureClass("table", 2, 3);
            FurnitureClass chair = null;

            int[] someArr = new int[3] {
                1, 2, 3
            };

            table.ReadThatCopiedArray(someArr);
            table.TransformCopy(5);
            Console.WriteLine($"For bad days, there are {FurnitureClass.reservedAmount} reserved things in the storage");
            Console.WriteLine($"A number of legs a standart furniture has is {table.GetLegs()}");
            FurnitureClass.FixTheSameObject(ref table);
            FurnitureClass.CreateBrandNewObject(out chair);
            Console.WriteLine($"{chair.ChangeTitle = "of Fire"}");
            chair.RandomEnumeration(56, 77, 88, 99, 010);
            chair.UnkeptEnumeration(someOne: 12, someTwo: 34, someThree: 56);



            Console.ReadKey();
        }
Example #3
0
 static public void CreateBrandNewObject(out FurnitureClass newObject)
 {
     newObject = new FurnitureClass("smth", 67, 89);
     Console.WriteLine($"New title is {newObject.ChangeTitle = "Pillar"}");
 }
Example #4
0
 static public void FixTheSameObject(ref FurnitureClass actualObject) // reference parameter
 {
     actualObject = new FurnitureClass("sofa", 12, 34);
     Console.WriteLine($"New title of chair is '{actualObject.title}', new amount is '{actualObject.amount}', new price is '{actualObject.price}'");
 }