title: Linq Intersect bool query and performance
body: <p>I want to check if any elements in 2 lists are the same based on a specific property, then just return true, false.</p>
  
  <p>Right now I have:</p>
  
  <pre><code>public bool CanEdit(List&lt;RoleType&gt; roles)
  {
      var rolesThatCanEdit = new List&lt;RoleType&gt;{
                                     RoleType.Administrator, 
                                     RoleType.Editor
                             };
      //check if the roles can edit.
      return rolesThatCanEdit.Intersect(roles).Any();
  } 
  </code></pre>
  
  <p>But my guess how this works is that it will make a new list then just check if anything is in the list. Is there a way I can just return true on the first matched element? worst case is there is no matching elements and it will loop through the entire list internally.</p>