title: join multiple IEnumerable<> using Linq
body: <p>I have following class which is populated with the data</p>
  
  <pre><code>public class cntrydata
  {
      public string countryid { get; set; }
      public string countryname { get; set; }
  
      public IEnumerable&lt;Data&gt; data { get; set; }
  
  }
  public class Data
  {
          public int year { get; set; }
          public float value { get; set; }
  }
  </code></pre>
  
  <p>I have an IEnumerable result which has data like this:</p>
  
  <pre><code>IEnumerable&lt;cntryData&gt; result
  
  USA
  United States
     2000 12
     2001 22
     2004 32
  
  CAN
  Canada
     2001 29
     2003 22
     2004 24
  </code></pre>
  
  <p>I want to evaluate "result" object using LINQ to get following result:</p>
  
  <pre><code>2000 USA 12   CAN null
  2001 USA 22   CAN 29
  2003 USA null CAN 22
  2004 USA 32   CAN 24
  </code></pre>
  
  <p>Also if result has more countries (say China with 1995 value 12) then result should look like this:</p>
  
  <pre><code>1995 USA null   CAN null CHN 12
  2000 USA 12     CAN null CHN null
  2001 USA 22     CAN 29   CHN null
  2003 USA null   CAN 22   CHN null
  2004 USA 32     CAN 24   CHN null
  </code></pre>
  
  <p>Can this be done using LINQ? Thank you.</p>