Пример #1
0
        static void Main(string[] args)
        {
            List <ISikidom> sikidomok = new List <ISikidom>();

            Kor      kor1   = new Kor(19);
            Kor      kor2   = new Kor(26.78);
            Teglalap tegla1 = new Teglalap(16.8, 23);
            Teglalap tegla2 = new Teglalap(34.29, 45);

            Console.WriteLine($"Kör:{kor1.Kerulet()};{kor1.Terulet()}");
            Console.WriteLine($"Téglalap:{tegla2.Kerulet()};{tegla2.Terulet()}");
            sikidomok.Add(kor1);
            sikidomok.Add(kor2);
            sikidomok.Add(tegla1);
            sikidomok.Add(tegla2);

            //a listán szereplő síkidomok kerületének összege
            Console.WriteLine(sikidomok.Sum(x => x.Kerulet()));

            //a listán szereplő síkidomok területének átlaga
            Console.WriteLine(sikidomok.Average(x => x.Terulet()));

            //hogyan lehet különbséget tenni a lista elemei között?
            Console.WriteLine(sikidomok.Where(x => x.GetType() == typeof(Kor)).Sum(x => x.Kerulet()));



            Console.ReadKey();
        }
Пример #2
0
        static void Main(string[] args)
        {
            //Tudunk-e különböző osztályú objektumot
            //azonos listában tárolni?
            List <ISikidom> sikidomok = new List <ISikidom>();

            Kor kor1 = new Kor(12);
            Kor kor2 = new Kor(36);
            Kor kor3 = new Kor(8.37);

            sikidomok.Add(kor1);
            sikidomok.Add(kor2);
            sikidomok.Add(kor3);

            Teglalap t1 = new Teglalap(12, 36);
            Teglalap t2 = new Teglalap(33.19, 36.69);
            Teglalap t3 = new Teglalap(21, 41);

            sikidomok.Add(t1);
            sikidomok.Add(t2);
            sikidomok.Add(t3);

            Console.WriteLine($"Összes kerület:{sikidomok.Sum(x=>x.Kerulet())}");
            Console.WriteLine($"Összes terület:{sikidomok.Sum(x => x.Terulet())}");

            foreach (var i in sikidomok)
            {
                if (i.GetType() == typeof(Kor))
                {
                    Console.WriteLine("Ez kör");
                }
                if (i.GetType() == typeof(Teglalap))
                {
                    Console.WriteLine("Ez téglalap");
                }
            }

            //Írassuk ki csak a körök területét
            var korkerulet = sikidomok.Where(x => x.GetType() == typeof(Kor)).Sum(x => x.Kerulet());

            Console.WriteLine($"Körök kerülete:{korkerulet}");


            Console.ReadKey();
        }