title: Retrieving non-duplicates from 2 Collections using LINQ
body: <p>Background: I have two Collections of different types of objects with different name properties (both strings). Objects in <code>Collection1</code> have a field called <code>Name</code>, objects in <code>Collection2</code> have a field called <code>Field</code>.<br>
  I needed to compare these 2 properties, and get items from <code>Collection1</code> where there is not a match in <code>Collection2</code> based on that string property (<code>Collection1</code> will always have a greater or equal number of items. All items should have a matching item by Name/Field in <code>Collection2</code> when finished).</p>
  
  <p>The question: I've found answers using Lists and they have helped me a little(for what it's worth, I'm using Collections). I did find <a href="https://stackoverflow.com/a/14191713/2957232">this answer</a> which appears to be working for me, however I would like to convert what I've done from query syntax (if that's what it's called?) to a LINQ query. See below:  </p>
  
  <pre><code>//Query for results. This code is what I'm specifically trying to convert.
  var result = (from item in Collection1
                where !Collection2.Any(x =&gt; x.ColumnName == item.FieldName)
                select item).ToList();  
  
  //** Remove items in result from Collection1**
  //...
  </code></pre>
  
  <p>I'm really not at all familiar with either syntax (working on it), but I think I generally understand what this is doing. I'm struggling trying to convert this to LINQ syntax though and I'd like to learn both of these options rather than some sort of nested loop.  </p>
  
  <p>End goal after I remove the query results from <code>Collection1</code>: <code>Collection1.Count == Collection2</code> and the following is true for each item in the collection: <code>ItemFromCollection1.Name == SomeItemFromCollection2.Field</code> (if that makes sense...)</p>