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

How to use LINQ 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 = from person in people
                    group person by person.Gender;

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