A better design might be to create a class that holds one session of data for you:
public class WorkOutSession
{
public string Exercise { get; set; }
public DateTime Date { get; set; }
public int Sets { get; set; }
public int Reps { get; set; }
public int Weight { get; set; }
public int RestTime { get; set; }
public int BodyWeight { get; set; }
}
public class WorkOutInformation
{
public List<WorkOutSession> Sessions { get; set; }
}
With that design, you can sort your Sessions list by date and all of the data for the session will stay associated:
var sessionsByDate = Sessions.OrderBy(s => s.Date);