title: Compare two generic lists and remove duplicates
body: <p>I have two generic Lists, one called "Featured" and the other called "Filtered".  </p>
  
  <pre><code>List&lt;Content&gt; Featured = new List&lt;Content&gt;();
  List&lt;Content&gt; Filtered = new List&lt;Content&gt;();
  </code></pre>
  
  <p>Both contain "Content" items which are simple classes like so :</p>
  
  <pre><code>public class Content
  {
      public long ContentID { get; set;}
      public string Title { get; set; }
      public string Url { get; set; }
      public string Image { get; set; }
      public string Teaser { get; set; }
  
      public Content(long contentId, string title, string url, string image, string teaser)
      {
          ContentID = contentId;
          Title = title;
          Url = url;
          Image = image;
      }
  }
  </code></pre>
  
  <p>Any items that appear in "Filtered" but also appear in "Featured" need to be removed from "Filtered".  Additionally, both lists will then be combined into a single generic list with the "Featured" items appearing first.</p>
  
  <p>I know I could write a couple of foreach loops to do this but I can't help feel there must be a more elegant method using LINQ.</p>
  
  <p>I am using C# 4.0.</p>