title: Find() and First() throws exceptions, how to return null instead?
body: <p>Is there a linq lambda search method that returns null, instead of throwing an exception, when searching a list?</p>
  
  <p>My current solution is something like: (to avoid exception from being thrown)</p>
  
  <pre><code>if (list.Exists(x =&gt; x.Foo == Foo))
  {
      var listItem = list.Find(x =&gt; x.Foo == Foo);
  }
  </code></pre>
  
  <p>It just feels wrong to repeat the expression.</p>
  
  <p>Something like ...</p>
  
  <pre><code>var listItem = list.Find(x =&gt; x.Foo == Foo);
  if (listItem != null)
  {
      //Do stuff
  }
  </code></pre>
  
  <p>... feels better to me. Or is it just me?</p>
  
  <p>Do you have a better approach on this one? (The solution don't have to be returning null, just a better solution is good)</p>