internal static void Main(string[] args) { var r = new PersonNuGetPackage.PersonRepositoryRandom(); var people = r.Get10People(); foreach (var person in people) { Console.WriteLine(person.Name); } //Sorter og udskriv efter navn og udskriv igen Console.WriteLine(); Console.WriteLine("Opgave 0"); var res0li = from person in people orderby person.Name select person.Name; var res0la = people.OrderBy(i => i.Name).Select(i => i.Name); foreach (var person in res0la) { Console.WriteLine(person); } //Sorter og udskriv efter gender og så navn Console.WriteLine(); Console.WriteLine("Opgave 1"); var res1li = from p in people orderby p.Gender, p.Name select p; var res1la = people.OrderBy(i => i.Gender).ThenBy(i => i.Name); foreach (var item in res1li) { Console.WriteLine(item.Name); Console.WriteLine(item.Gender); } Console.WriteLine(); foreach (var item in res1la) { Console.WriteLine(item.Name); Console.WriteLine(item.Gender); } //Filtre og udskriv således, at der kun vises personer hvor height< 170 Console.WriteLine(); Console.WriteLine("Opgave 2"); var res2li = from p in people where p.Height < 170 select p; var res2la = people.Where(i => i.Height < 170); foreach (var item in res2li) { Console.WriteLine(item.Name); Console.WriteLine(item.Height); } Console.WriteLine(); foreach (var item in res2la) { Console.WriteLine(item.Name); Console.WriteLine(item.Height); } //Filtre og udskriv således, at der kun vises personer hvor height = < 170, isHealthy = true Console.WriteLine(); Console.WriteLine("Opgave 3"); var res3li = from p in people where (p.Height < 170 && p.IsHealthy == true) select p; var res3la = people.Where(i => i.Height < 170 && i.IsHealthy == true); foreach (var item in res3li) { Console.WriteLine(item.Name); Console.WriteLine(item.Height); Console.WriteLine(item.IsHealthy); } //Gruppér efter gender og udskriv hver gruppe(husk – der er tale om tilfældige navn / gender mv) Console.WriteLine(); Console.WriteLine("Opgave 4"); var res4li = from p in people group p by p.Gender into gruppe select gruppe; var res4la = people .GroupBy( (PersonNuGetPackage.Person i) => { return(i.Gender); } ); foreach (var item in res4la) { Console.WriteLine(item); foreach (var per in item) { Console.WriteLine(per.Gender); } } //Sorter og udskriv navn – men der skal kun returneres et anonymt objekt med navn og height Console.WriteLine(); Console.WriteLine("Opgave 5"); var res5li = from p in people select new { navn = p.Name, height = p.Height }; var res5la = people.Select(i => new { navn = i.Name, height = i.Height }); foreach (var item in res5li) { Console.WriteLine(item.navn); Console.WriteLine(item.height); } //Grupper og sorter efter height således, at der skabes grupper fra 160 - 170, 170 - 180, 180 - 190, 190 - 200, 200 - 210.Den svær..kig i løsningen og søg evt på nettet. Console.WriteLine(); Console.WriteLine("Opgave 6"); int[] range = { 160, 170, 180, 190, 200, 210, 220 }; //var res6la = range.Select(r => new { people.}) var res6la = people.OrderBy(i => i.Height).GroupBy(x => range.FirstOrDefault(ran => ran > x.Height)); foreach (var item in res6la) { Console.WriteLine(item); foreach (var per in item) { Console.WriteLine(per.Height); } } // Hold console åben ved debug if (System.Diagnostics.Debugger.IsAttached) { Console.Write("Press any key to continue . . . "); Console.ReadKey(); } }
static void Main(string[] args) { var r = new PersonNuGetPackage.PersonRepositoryRandom(); Console.WriteLine("\n--------------------Ten people 'A'"); var A = r.Get10People(); foreach (var item in A) { Console.WriteLine(item.Name); } Console.WriteLine("\n--------------------'A' sorted by name"); A = A.OrderBy(i => i.Name).ToList(); foreach (var item in A) { Console.WriteLine(item.Name); } Console.WriteLine("\n--------------------Ten people 'B'"); var B = r.Get10People(); foreach (var item in B) { Console.WriteLine(item.Name); } Console.WriteLine("\n--------------------'B' sorted by Gender, then by Name"); B = B.OrderBy(i => i.Gender).ThenBy(i => i.Name).ToList(); foreach (var item in B) { Console.WriteLine($"{item.Name} is {item.Gender}"); } Console.WriteLine("\n--------------------100 people 'C' filtered by height>170 and isHealthy==true"); var C = r.GetPeople(100).Where(i => i.Height > 170 && i.IsHealthy == true); foreach (var item in C) { Console.WriteLine($"{item.Name} is {item.Height} and it is {item.IsHealthy} that they are healthy"); } Console.WriteLine("\n--------------------20 people 'D' Ordered by gender"); var D = r.GetPeople(20).GroupBy(i => i.Gender); foreach (var Group in D) { foreach (var person in Group) { Console.WriteLine($"{person.Name} is {person.Gender}"); } } Console.WriteLine("\n--------------------20 people 'E' Ordered by name in anonymous objects"); var E = r.GetPeople(20); var Ea = E.OrderBy(i => i.Name).Select(i => new { i.Name, i.Height }); foreach (var person in Ea) { Console.WriteLine($"{person.Name} is {person.Height} cm"); } Console.WriteLine("\n--------------------20 people 'F' Ordered grouped by 10 cm height increases"); int[] range = { 150, 160, 170, 180, 190, 200, 210, 220 }; var F = r.GetPeople(20); var Fo = F.OrderBy(i => i.Height).GroupBy(i => { return(range.FirstOrDefault(x => x > i.Height) - 10); }); foreach (var group in Fo) { Console.WriteLine($"Group: {group.Key}"); foreach (var person in group) { Console.WriteLine($"{person.Name} is {person.Height} cm"); } } if (System.Diagnostics.Debugger.IsAttached) { Console.Write("Press any key to continue . . . "); Console.ReadKey(); } }