title: Find() vs. enumeration on lists
body: <p>I'm working with a code base where lists need to be frequently searched for a single element. </p>
  
  <p>Is it faster to use a Predicate and Find() than to manually do an enumeration on the List?</p>
  
  <p>for example:</p>
  
  <pre><code>string needle = "example";
  FooObj result = _list.Find(delegate(FooObj foo) {
      return foo.Name == needle;
  });
  </code></pre>
  
  <p>vs.</p>
  
  <pre><code>string needle = "example";
  foreach (FooObj foo in _list)
  {
      if (foo.Name == needle)
          return foo;
  }
  </code></pre>
  
  <p>While they are equivalent in functionality, are they equivalent in performance as well?</p>