title: Use LINQ to get items in one List<>, that are not in another List<>
body: <p>I would assume there's a simple LINQ query to do this, I'm just not exactly sure how.</p>
  
  <p>Given this piece of code:</p>
  
  <pre><code>class Program
  {
      static void Main(string[] args)
      {
          List&lt;Person&gt; peopleList1 = new List&lt;Person&gt;();
          peopleList1.Add(new Person() { ID = 1 });
          peopleList1.Add(new Person() { ID = 2 });
          peopleList1.Add(new Person() { ID = 3 });
  
          List&lt;Person&gt; peopleList2 = new List&lt;Person&gt;();
          peopleList2.Add(new Person() { ID = 1 });
          peopleList2.Add(new Person() { ID = 2 });
          peopleList2.Add(new Person() { ID = 3 });
          peopleList2.Add(new Person() { ID = 4 });
          peopleList2.Add(new Person() { ID = 5 });
      }
  }
  
  class Person
  {
      public int ID { get; set; }
  }
  </code></pre>
  
  <p>I would like to perform a LINQ query to give me all of the people in <code>peopleList2</code> that are not in <code>peopleList1</code>.</p>
  
  <p>This example should give me two people (ID = 4 &amp; ID = 5)</p>