How to group items in a list by a property value in C#? - Biz Tech

How to group items in a list by a property value in C#?

Listen
public class Person
{
    public string Name { get; set; }
    public string Gender { get; set; }
}

List<Person> people = new List<Person>
{
    new Person { Name = "John", Gender = "Male" },
    new Person { Name = "Jane", Gender = "Female" },
    new Person { Name = "Bob", Gender = "Male" },
    new Person { Name = "Alice", Gender = "Female" }
};

var groupedPeople = people.GroupBy(x => x.Gender);

foreach (var group in groupedPeople)
{
    Console.WriteLine(group.Key);
    foreach (Person person in group)
    {
        Console.WriteLine("- " + person.Name);
    }
}