title: LINQ Join List of List
body: <p>Using LINQ, how can I join (Inner Join) list of list datas</p>
  
  <p>Example datas:</p>
  
  <pre><code>List&lt;List&lt;string&gt;&gt; datas1 = new List&lt;List&lt;string&gt;&gt;();
  datas1.add(new List() { "1", "Item 1" });
  datas1.add(new List() { "2", "Item 2" });
  datas1.add(new List() { "3", "Item 3" });
  
  List&lt;List&lt;string&gt;&gt; datas2 = new List&lt;List&lt;string&gt;&gt;();
  datas1.add(new List() { "1", "20" });
  datas1.add(new List() { "2", "10" });
  </code></pre>
  
  <p>Expected Result in <code>List&lt;List&lt;string&gt;&gt;</code>:</p>
  
  <pre><code>List("1", "Item 1", "20");
  List("2", "Item 2", "10");
  </code></pre>
  
  <p>I try </p>
  
  <pre><code>var result = datas1
        .Join(datas2, d1 =&gt; datas1[0], d2 =&gt; datas2[0], (d1, d2) =&gt; { d1 })
        .ToList();
  </code></pre>
  
  <p>I get Empty result, then try :</p>
  
  <pre><code>var result = datas1
            .Join(datas2, d1 =&gt; datas1[0][0], d2 =&gt; datas2[0][0], (d1, d2) =&gt; { d1 })
            .ToList();
  </code></pre>
  
  <p>I get duplicate result for each datas1.</p>