static void Main(string[] args) { List <Isikidom> sikidomok = new List <Isikidom>(); Kor kor1 = new Kor(12); Kor kor2 = new Kor(34); Teglalap tegla1 = new Teglalap(12, 5); Teglalap tegla2 = new Teglalap(39, 11); sikidomok.Add(kor1); sikidomok.Add(kor2); sikidomok.Add(tegla1); sikidomok.Add(tegla2); foreach (var s in sikidomok) { Console.WriteLine($"K:{s.Kerulet()},T:{s.Terulet()}"); } var osszkerulet = sikidomok.Sum(x => x.Kerulet()); var osszterulet = sikidomok.Sum(x => x.Terulet()); //kiválogatás típus szerint var korkerulet = sikidomok.Where(x => x.GetType() == typeof(Kor)).Sum(x => x.Kerulet()); Console.WriteLine($"Körök kerülete:{korkerulet}"); Console.WriteLine($"Össz. kerület:{osszkerulet},Össz. terület:{osszterulet}"); Console.ReadKey(); }
static void Main(string[] args) { List <ISikidom> sikidomok = new List <ISikidom>(); Teglalap t1 = new Teglalap(12, 34); Teglalap t2 = new Teglalap(18, 56); Teglalap t3 = new Teglalap(49, 56); Kor k1 = new Kor(35); Kor k2 = new Kor(19); Kor k3 = new Kor(98); Rombusz r1 = new Rombusz(12, 30); Rombusz r2 = new Rombusz(39, 26); Rombusz r3 = new Rombusz(51, 39); sikidomok.Add(t1); sikidomok.Add(t2); sikidomok.Add(t3); sikidomok.Add(k1); sikidomok.Add(k2); sikidomok.Add(k3); sikidomok.Add(r1); sikidomok.Add(r2); sikidomok.Add(r3); //Síkidomok összes kerülete, területe var osszKerulet = sikidomok.Sum(x => x.Kerulet()); var osszTerulet = sikidomok.Sum(x => x.Terulet()); Console.WriteLine($"Az kerületek összege:{osszKerulet}"); Console.WriteLine($"A területek összege:{osszTerulet}"); //Körök kerülete, területe var korKerulet = sikidomok.FindAll(x => x.GetType() == typeof(Kor)).Sum(x => x.Kerulet()); Console.WriteLine($"A körök kerülete:{korKerulet}"); var teglalapKerulet = sikidomok.FindAll(x => x.GetType() == typeof(Teglalap)).Average(x => x.Kerulet()); Console.WriteLine($"A téglalapok kerülete:{teglalapKerulet}"); //Tetszőleges síkidom megvalósítása var rombuszTerulet = sikidomok.FindAll(x => x.GetType() == typeof(Rombusz)).Sum(x => x.Terulet()); Console.WriteLine($"A rombuszok területe:{rombuszTerulet}"); Console.ReadKey(); }