using System.Globalization;
using System.Collections.Generic;
public static void Main()
var foos = new List<Foo>()
new Foo() { Id = 1, Name = "A" },
new Foo() { Id = 2, Name = "B" },
new Foo() { Id = 3, Name = "C" },
new Foo() { Id = 4, Name = "A" },
new Foo() { Id = 5, Name = "C" }
var results = foos.GroupBy(f => f.Name).ToList();
foreach(var fooKeyValues in results)
Console.WriteLine("Name: " + fooKeyValues.Key);
foreach(var foo in fooKeyValues)
Console.WriteLine("Id : " + foo.Id);
Console.WriteLine("----\n");
public int Id { get; set; }
public string Name { get; set; }