using System.Collections.Generic;
public static void Main()
IList<Student> studentList = new List<Student>() {
new Student() { StudentID = 1, StudentName = "John", Age = 13,
Dob = new DateTimeOffset(2009, 5, 1, 8, 6, 32,
new TimeSpan(1, 0, 0))} ,
new Student() { StudentID = 2, StudentName = "Moin", Age = 21,
Dob = new DateTimeOffset(2008, 5, 1, 8, 6, 32,
new TimeSpan(1, 0, 0))} ,
new Student() { StudentID = 3, StudentName = "Bill", Age = 18,
Dob = new DateTimeOffset(2009, 5, 1, 8, 6, 32,
new TimeSpan(1, 0, 0))} ,
new Student() { StudentID = 4, StudentName = "Ram" , Age = 20,
Dob = new DateTimeOffset(2008, 5, 1, 8, 6, 32,
new TimeSpan(1, 0, 0))} ,
new Student() { StudentID = 5, StudentName = "Ron" , Age = 15,
Dob = new DateTimeOffset(2008, 5, 1, 8, 6, 32,
var b = studentList.GroupBy(a=>a.Dob).
Select(g=>g.OrderBy(a=>a.Age))
.SelectMany(a=>a).ToList();
Console.WriteLine("Date:" +" "+ "Age");
Console.WriteLine(a.Dob.Date+ " " + a.Age);
public int StudentID { get; set; }
public string StudentName { get; set; }
public int Age { get; set; }
public DateTimeOffset Dob {get; set;}