using System.Collections.Generic;
public static void Main()
var originalList = new List<NameDate>
SomeDate = DateTime.Parse("10/03/2016")
SomeDate = DateTime.Parse("10/05/2016")
SomeDate = DateTime.Parse("10/04/2016")
SomeDate = DateTime.Parse("10/02/2016")
SomeDate = DateTime.Parse("10/01/2016")
SomeDate = DateTime.Parse("10/03/2016")
SomeDate = DateTime.Parse("10/05/2016")
SomeDate = DateTime.Parse("10/02/2016")
SomeDate = DateTime.Parse("10/04/2016")
var orderedList = originalList.OrderBy(x => x.SomeDate).GroupBy(y => y.Name);
Console.WriteLine(orderedList);
public string Name { get; set;}
public DateTime SomeDate {get; set;}