Ryhmittely tapahtuu GroupBy-operaatiolla

Käytetään apuna Tuote-luokkaa

public class Tuote
{
	public int Id { get; set; }
	public string Nimi { get; set; }
}

Luodaan kokoelma tuotteita ja tulostetaan ne nimen alkukirjaimen mukaisesti ryhmiteltynä

List<Tuote> tuotteet = new List<Tuote>();
tuotteet.Add(new Tuote { Id = 1, Nimi = "Maito" });
tuotteet.Add(new Tuote { Id = 2, Nimi = "Mehu" });
tuotteet.Add(new Tuote { Id = 3, Nimi = "Omena" });
tuotteet.Add(new Tuote { Id = 4, Nimi = "Oliiviöljy" });

// IGrouping sisältää ominaisuuden Key, jossa ryhmän avain on
var ryhmitelty = tuotteet.GroupBy(t => t.Nimi[0]).Select(g => new { alkukirjain = g.Key, tuotteet = g.ToList() });
foreach (var ryhma in ryhmitelty)
{
	Console.WriteLine("{0} -alkuiset tuotteet;",ryhma.alkukirjain);
	ryhma.tuotteet.ForEach(t => Console.WriteLine("{0} {1}",t.Id,t.Nimi));
	Console.WriteLine();
}