using System.Collections.Generic;
public static void Main()
List<Person> PerList = new List<Person>(){
new Person(){ Name = "Sam", Age = 50, Sex = "Man" },
new Person(){ Name = "Amy", Age = 30, Sex = "Woman"},
new Person(){ Name = "Andy", Age = 30, Sex = "Man"},
new Person(){ Name = "Jacky", Age = 60, Sex = "Man"},
new Person(){ Name = "Peter", Age = 65, Sex = "Man"},
new Person(){ Name = "Susan", Age = 45, Sex = "Woman"},
new Person(){ Name = "Jeff", Age = 65, Sex = "Man"},
new Person(){ Name = "Mary", Age = 63, Sex = "Woman" }};
var peopleAgeTop3 = PerList.GroupBy(p => p.Age)
.OrderByDescending(g => g.Key)
foreach(var p in peopleAgeTop3)
Console.WriteLine(p.Name);