title: What is a good method to create a set of data that is "connected"
body: <p>I am currently writing a program that takes in data regarding exercise. The variables are </p>
  
  <p>Exercise - Ex) Bench Press</p>
  
  <p>Date - Ex) 08/12/13</p>
  
  <p>Reps - Ex) 10</p>
  
  <p>Weight - Ex) 135</p>
  
  <p>Sets at weight - Ex) 3</p>
  
  <p>Rest Time - Ex) 120 (in seconds)</p>
  
  <p>Body weight at date - Ex) 200</p>
  
  <p>I am importing from a CSV file. I've parsed the data and have it so that it gives me a class that's set up as such </p>
  
  <pre><code>    Public Class WorkoutInformation
     {
     public string Exercise{get;set;}
     public List&lt;DateTime&gt; date; 
     public List&lt;dynamic&gt; sets {get;set;}
     public List&lt;dynamic&gt; reps {get; set;}
     public List&lt;dynamic&gt; weight {get;set;}
     public List&lt;dynamic&gt; restTime {get; set;}
     public List&lt;dynamic&gt; bodyWeight {get;set;}
  
  }
  </code></pre>
  
  <p>So here is my problem. I am finding that when I plot these that the dates are not getting sorted and I would like the earlier days to be shown first. So I've been sorting my <code>List&lt;WorkoutInformation&gt;</code>. But I am finding that this leaves me vulnerable to losing which dates go with which weights, or reps, or other information. My question then is how do I create a class where I can access information like a list Ex) <code>MyList.date[i]</code> but when I change the index of <code>MyList.date[i]</code> all the other pieces of information are appropriately indexed with it? </p>