title: Check if one list contains any elements from another
body: <p>I am just trying to return true if one list contains any of the Name/Value from list2:</p>
  
  <p>This would be my structure:</p>
  
  <pre><code>public class TStockFilterAttributes
  {
      public String Name { get; set; }
      public String Value { get; set; }
  }
  
  List&lt;TStockFilterAttributes&gt; List1 = new List&lt;TStockFilterAttributes&gt;();
  List&lt;TStockFilterAttributes&gt; List2 = new List&lt;TStockFilterAttributes&gt;();
  </code></pre>
  
  <p>This should return true:</p>
  
  <pre><code>List1.Add(new TStockFilterAttributes { Name = "Foo", Value = "Bar" });
  List2.Add(new TStockFilterAttributes { Name = "Foo", Value = "Bar" });
  </code></pre>
  
  <p>But this would return false because Name &amp;&amp; Value don't match:</p>
  
  <pre><code>List1.Add(new TStockFilterAttributes { Name = "Foo", Value = "Bar" });
  List2.Add(new TStockFilterAttributes { Name = "Foo", Value = "Foo" });
  </code></pre>
  
  <p>Each list could contains lots of different values and I just need to know if any one of List1 matches any one in List2.</p>
  
  <p>I have tried using:</p>
  
  <pre><code>return List1.Intersect(List2).Any();
  </code></pre>
  
  <p>but this seems to return false in all cases, I am assuming this is because I am holding a class in List rather than a simple int / string?</p>