title: Create Dictionary(of Dictionary) using Grouping in Linq
body: <p>I know I could do this with loops (as a matter of fact, I currently am, but I am trying to learn / imporve my Linq skills and i also hope it will provide a more efficent solution. So, here's my scenario:</p>
  
  <p>Say I have the following 3 lists (I'm just making up a similar example, so forgive it's stupidity):</p>
  
  <pre><code>Dim lstTeachers as New List(of string)
  Dim lstStudentsSex as New List(of string)
  Dim lstStudentName as New List(of string)
  </code></pre>
  
  <p>And they are, for example, as follows:</p>
  
  <pre><code>lstTeachers:     lstStudentsSex:     lstStudentName:
  Teacher 1        Male                Whatever Name 1
  Teacher 2        Female              Whatever Name 2 
  Teacher 1        Female              Whatever Name 3
  Teacher 1        Female              Whatever Name 4
  Teacher 2        Male                Whatever Name 5
  Teacher 3        Male                Whatever Name 6
  Teacher 3        Female              Whatever Name 7
  Teacher 1        Male                Whatever Name 8
  Teacher 1        Female              Whatever Name 9
  Teacher 2        Male                Whatever Name 10
  </code></pre>
  
  <p>Where each entry in each list matches the other entries with the same index - Basically like a datatable, just stored in separate lists.</p>
  
  <p>Now, suppose I want to create the following structure with the following values:</p>
  
  <pre><code>Dim dictTeacherSexName as New Dictionary(Of String, Dictionary(Of String, List(of String)))
  
  Dict1_Key:        Dict1_Value / Dict2_Key:         Dict2_Value:
  Teacher 1         Male                             Whatever Name 1
                                                     Whatever Name 8
                    Female                           Whatever Name 3
                                                     Whatever Name 4
                                                     Whatever Name 9
  Teacher 2 ...
  </code></pre>
  
  <p>... I hope this explains what I'm looking to accomplish.</p>
  
  <p>Now, again, I know this may be a stupid idea, but I'm also asking it because I want to improve my Linq skills - especially Group By and multiple Selects which still catches me, so please help.</p>
  
  <p>Thanks so much!</p>