static void Main() { // Attention! - No animals were harmed during these tests Console.Title = "Animals"; var dog = new Dog("Gosho", 3, Gender.Male); Console.WriteLine(dog); dog.FetchStick(); Console.Write(Environment.NewLine); var frog = new Frog("Masha", 16, Gender.Female); Console.WriteLine(frog); frog.Transform(); Console.Write(Environment.NewLine); var kitty = new Kitten("Maca", 0); Console.WriteLine(kitty); kitty.MeltYourHeart(); Console.Write(Environment.NewLine); var tomcat = new Tomcat("Tom", 4); Console.WriteLine(tomcat); tomcat.Piss(); Console.Write(Environment.NewLine); var animals = new Animal[] { new Dog("Freya", 1, Gender.Female), new Dog("Sharo", 4, Gender.Male), new Frog("Penka", 20, Gender.Female), new Frog("Fred", 32, Gender.Male), new Kitten("Merlin", 1), new Kitten("Shusia", 0), new Tomcat("Felix", 6), new Tomcat("Silvester", 5), }; var averageAge = from an in animals group an by new { GroupName = an.GetType().Name } into gender select new { gender.Key.GroupName, AvarageAge = gender.Average(an => an.Age) }; foreach (var animal in averageAge) { Console.WriteLine(String.Format("Group: {0}, AvarageAge: {1:0.00}.", animal.GroupName, animal.AvarageAge)); } // And what does the Fox say? Oh, no foxes here... }
static void Main() { // Attention! - No animals were harmed during these tests Console.Title = "Animals"; var dog = new Dog("Gosho", 3, Gender.Male); Console.WriteLine(dog); dog.FetchStick(); Console.Write(Environment.NewLine); var frog = new Frog("Masha", 16, Gender.Female); Console.WriteLine(frog); frog.Transform(); Console.Write(Environment.NewLine); var kitty = new Kitten("Maca", 0); Console.WriteLine(kitty); kitty.MeltYourHeart(); Console.Write(Environment.NewLine); var tomcat = new Tomcat("Tom", 4); Console.WriteLine(tomcat); tomcat.Piss(); Console.Write(Environment.NewLine); var animals = new Animal[] { new Dog("Freya", 1, Gender.Female), new Dog("Sharo", 4, Gender.Male), new Frog("Penka", 20, Gender.Female), new Frog("Fred", 32, Gender.Male), new Kitten("Merlin", 1), new Kitten("Shusia", 0), new Tomcat("Felix",6), new Tomcat("Silvester", 5), }; var averageAge = from an in animals group an by new { GroupName = an.GetType().Name } into gender select new { gender.Key.GroupName, AvarageAge = gender.Average(an => an.Age) }; foreach (var animal in averageAge) { Console.WriteLine(String.Format("Group: {0}, AvarageAge: {1:0.00}.", animal.GroupName, animal.AvarageAge)); } // And what does the Fox say? Oh, no foxes here... }