using static System.Console;
using System.Collections.Generic;
using System.Linq;
public class Program {
public static void Main() {
List<Pet> pets =
new List<Pet>{ new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 },
new Pet { Name="Daisy", Age=4 } };
//está agrupando por idade e depois po nome.
//Como existe dois pets com mesma idade eles serão agrupados
var query = pets.GroupBy(pet => pet.Age, pet => pet.Name);
foreach (var petGroup in query) {
WriteLine(petGroup.Key);
foreach (var name in petGroup) WriteLine(" {0}", name);
}
}
}
class Pet {
public string Name { get; set; }
public int Age { get; set; }
}
//https://pt.stackoverflow.com/q/82746/101
dXNpbmcgc3RhdGljIFN5c3RlbS5Db25zb2xlOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgkJCQkJCnB1YmxpYyBjbGFzcyBQcm9ncmFtIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkgewoJCUxpc3Q8UGV0PiBwZXRzID0KCQkJbmV3IExpc3Q8UGV0PnsgbmV3IFBldCB7IE5hbWU9IkJhcmxleSIsIEFnZT04IH0sCgkJCQluZXcgUGV0IHsgTmFtZT0iQm9vdHMiLCBBZ2U9NCB9LAoJCQkJbmV3IFBldCB7IE5hbWU9IldoaXNrZXJzIiwgQWdlPTEgfSwKCQkJCW5ldyBQZXQgeyBOYW1lPSJEYWlzeSIsIEFnZT00IH0gfTsKICAgICAgICAvL2VzdMOhIGFncnVwYW5kbyBwb3IgaWRhZGUgZSBkZXBvaXMgcG8gbm9tZS4KCQkvL0NvbW8gZXhpc3RlIGRvaXMgcGV0cyBjb20gbWVzbWEgaWRhZGUgZWxlcyBzZXLDo28gYWdydXBhZG9zCgkJdmFyIHF1ZXJ5ID0JcGV0cy5Hcm91cEJ5KHBldCA9PiBwZXQuQWdlLCBwZXQgPT4gcGV0Lk5hbWUpOwoJCWZvcmVhY2ggKHZhciBwZXRHcm91cCBpbiBxdWVyeSkgewoJCQlXcml0ZUxpbmUocGV0R3JvdXAuS2V5KTsKCQkJZm9yZWFjaCAodmFyIG5hbWUgaW4gcGV0R3JvdXApIFdyaXRlTGluZSgiICB7MH0iLCBuYW1lKTsKCQl9Cgl9Cn0KCmNsYXNzIFBldCB7CglwdWJsaWMgc3RyaW5nIE5hbWUgeyBnZXQ7IHNldDsgfQoJcHVibGljIGludCBBZ2UgeyBnZXQ7IHNldDsgfQp9CgovL2h0dHBzOi8vcHQuc3RhY2tvdmVyZmxvdy5jb20vcS84Mjc0Ni8xMDE=