static void Main()
        {

            Kitten Lili = new Kitten("Lili",2);
            Dog Sharo = new Dog("Sharo", 4, Gender.Male);
            Frog Frog = new Frog("Frog", 5, Gender.Female);
            Cat Jerry = new Cat("Jerry",7,Gender.Male);
            Tomcat Tom = new Tomcat("Tom", 3);
            Dog Pyhcho = new Dog("Pyhcho", 1, Gender.Male);
            List<Animal> animals = new List<Animal>() { Lili, Sharo, Frog, Tom,Pyhcho,Jerry };

            foreach (var animal in animals)
            {
                Console.WriteLine("{0}\n", animal);
            }

            animals
                .GroupBy(animal => animal.GetType().Name)
                .Select(group => new
                {
                    AnimalName = group.Key,
                    AverageAge = group.Average(a => a.Age)
                })
                .ToList()
                .ForEach(group => Console.WriteLine("{0} average age : {1}",group.AnimalName,group.AverageAge));
        }
Esempio n. 2
0
        static void Main()
        {
            Cat cat1 = new Cat("Tom", 2, "Male");
            cat1.ProduceSound();
            Cat cat2 = new Cat("Minka", 3, "Female");
            cat2.ProduceSound();
            Cat cat3 = new Cat("Gosho", 4, "Male");
            cat3.ProduceSound();

            Dog dog1 = new Dog("Lassie", 3, "Female");
            dog1.ProduceSound();
            Dog dog2 = new Dog("Haruki", 4, "Male");
            dog2.ProduceSound();
            Dog dog3 = new Dog("Murdjo", 5, "Male");
            dog3.ProduceSound();

            Frog frog1 = new Frog("Prince", 1, "Male");
            frog1.ProduceSound();
            Frog frog2 = new Frog("Igor", 2, "Male");
            frog2.ProduceSound();
            Frog frog3 = new Frog("Jivka", 1, "Female");
            frog3.ProduceSound();

            Kitten kitten1 = new Kitten("Bira", 1);
            kitten1.ProduceSound();
            Kitten kitten2 = new Kitten("Chertichka", 4);
            kitten2.ProduceSound();
            Kitten kitten3 = new Kitten("Pepa", 2);
            kitten3.ProduceSound();

            Tomcat tomcat1 = new Tomcat("Coolio", 4);
            tomcat1.ProduceSound();
            Tomcat tomcat2 = new Tomcat("Pantelei", 3);
            tomcat2.ProduceSound();
            Tomcat tomcat3 = new Tomcat("Kotyo", 6);
            tomcat3.ProduceSound();

            Console.WriteLine(new string('=', 30));

            Animal[] animals = { cat1, cat2, cat3, dog1, dog2, dog3, frog1, frog2, frog3, kitten1, kitten2, kitten3, tomcat1, tomcat2, tomcat3 };

            double averageAge = animals.Average(x => x.Age);
            Console.WriteLine("Average age of all animals is {0:0.##} years.", averageAge);

            double averageAgeCat = animals.Where(x => x is Cat).Average(x => x.Age);
            Console.WriteLine("Average age of the cats is {0:0.##} years.", averageAgeCat);

            double averageAgeDog = animals.Where(x => x is Dog).Average(x => x.Age);
            Console.WriteLine("Average age of the dogs is {0:0.##} years.", averageAgeDog);

            double averageAgeFrog = animals.Where(x => x is Frog).Average(x => x.Age);
            Console.WriteLine("Average age of the frogs is {0:0.##} years.", averageAgeFrog);

            double averageAgeKitten = animals.Where(x => x is Kitten).Average(x => x.Age);
            Console.WriteLine("Average age of the kitten is {0:0.##} years.", averageAgeKitten);

            double averageAgeTomcat = animals.Where(x => x is Tomcat).Average(x => x.Age);
            Console.WriteLine("Average age of the tomcats is {0:0.##} years.", averageAgeTomcat);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            Kitten pipi   = new Kitten("Pipi", 8);
            Tomcat momo   = new Tomcat("Momo", 5);
            Cat    chocho = new Cat("Chocho", 11, "Male");
            Cat    puhi   = new Cat("Puhi", 3, "Female");

            List <Cat> cats = new List <Cat>
            {
                pipi,
                momo,
                chocho,
                puhi
            };

            foreach (var cat in cats)
            {
                Console.Write(cat + " , Says: ");
                cat.ProduceSound();
            }
            Dog sharo  = new Dog("Sharo", 9, "Male");
            Dog loki   = new Dog("Loki", 2, "Male");
            Dog shaila = new Dog("Shaila", 7, "Female");

            List <Dog> dogs = new List <Dog>
            {
                sharo,
                loki,
                shaila
            };

            foreach (var dog in dogs)
            {
                Console.Write(dog + " , Says: ");
                dog.ProduceSound();
            }

            Frog frogy  = new Frog("Frogy", 2, "Male");
            Frog greeny = new Frog("Greeny", 6, "Female");
            Frog doty   = new Frog("Doty", 1, "Female");

            List <Frog> frogs = new List <Frog>
            {
                frogy,
                greeny,
                doty
            };

            foreach (var frog in frogs)
            {
                Console.Write(frog + " , Says: ");
                frog.ProduceSound();
            }

            List <Animal> averageAge = new List <Animal>
            {
                pipi,
                momo,
                chocho,
                puhi,
                sharo,
                loki,
                shaila,
                frogy,
                greeny,
                doty
            };

            var aveAge =
                from average in averageAge
                group average by new { Group = average.GetType().Name } into grouped
                select new
            {
                Group      = grouped.Key.Group,
                AverageAge = grouped.Average(a => a.Age)
            };

            foreach (var animal in aveAge)
            {
                Console.WriteLine(animal);
            }
        }