title: C# Linq Inner Join
body: <p>I want to select the persons  only who are having pets.</p>
  
  <p>when I execute the query</p>
  
  <pre><code>var query = from p in people
                          join
                          pts in pets
                          on p equals pts.Owner into grp
                          select new {grp=grp,PersonName=p.FirstName};
  </code></pre>
  
  <p>Person does not have pet also get selected.</p>
  
  <p>My Lists are</p>
  
  <pre><code>Person[] prn = new Person[3];
  prn[0] = new Person();
  prn[0].FirstName = "Jon";
  prn[0].LastName = "Skeet";
  
  prn[1] = new Person();
  prn[1].FirstName = "Marc";
  prn[1].LastName = "Gravell";
  
  prn[2] = new Person();
  prn[2].FirstName = "Alex";
  prn[2].LastName = "Grover";
  
  List&lt;Person&gt; people = new List&lt;Person&gt;();
  
   foreach (Person p in prn)
   {
       people.Add(p);
   }
  
   Pet[] pt = new Pet[3];
  
   pt[0] = new Pet();
   pt[0].Name = "Zonny";
   pt[0].Owner = people[0];
  
  pt[1] = new Pet();
  pt[1].Name = "Duggie";
  pt[1].Owner = people[0];
  
  pt[2] = new Pet();
  pt[2].Name = "Zoggie";
  pt[2].Owner = people[1];
  
  List&lt;Pet&gt; pets=new List&lt;Pet&gt;();
   foreach(Pet p in pt)
   {
      pets.Add(p);
   }
  </code></pre>