title: Multidimensional Lists in C#
body: <p>At the moment I am using one list to store one part of my data, and it's working perfectly in this format:    </p>
  
  <pre><code>Item
  ----------------
  Joe Bloggs
  George Forman
  Peter Pan
  </code></pre>
  
  <p>Now, I would like to add another line to this list, for it to work like so:</p>
  
  <pre><code>NAME                    EMAIL
  ------------------------------------------------------
  Joe Bloggs              joe@bloggs.com
  George Forman           george@formangrills.co
  Peter Pan               me@neverland.com
  </code></pre>
  
  <p>I've tried using this code to create a list within a list, and this code is used in another method in a foreach loop:</p>
  
  <pre><code>// Where List is instantiated
  List&lt;List&lt;string&gt;&gt; list2d = new List&lt;List&lt;string&gt;&gt;
  
  ...
  
  // Where DataGrid instance is given the list
  dg.DataSource = list2d;
  dg.DataBind();
  
  ...
  
  
  // In another method, where all people add their names and emails, then are added
  // to the two-dimensional list
  foreach (People p in ppl.results) {
      list.Add(results.name);
      list.Add(results.email);
      list2d.Add(list);
  }
  </code></pre>
  
  <p>When I run this, I get this result:</p>
  
  <pre><code>Capacity Count 
  ----------------
  16       16 
  16       16 
  16       16
  ...      ...
  </code></pre>
  
  <p>Where am I going wrong here. How can I get the output I desire with the code I am using right now?</p>