title: Array.Find with Delegate. What does it return if not found?
body: <p>I have an <code>Array&lt;Person&gt; myArray</code> and I am using the following code</p>
  
  <pre><code>myArray.Find(o =&gt; o.name.Equals("John"));
  </code></pre>
  
  <p>This <a href="http://msdn.microsoft.com/en-us/library/x0b5b5bc.aspx" rel="noreferrer">article</a> in Msdn states:</p>
  
  <blockquote>
    <p>Return Value</p>
    
    <p>Type: T</p>
    
    <p>The first element that matches the conditions defined by the
    specified predicate, if found; otherwise, the default value for type T.</p>
  </blockquote>
  
  <p>If I had an <code>Array&lt;int&gt;</code> the default value would be zero.
  But, in my case I am using a class. Let's say <code>Array&lt;Person&gt;</code>.</p>
  
  <p>What would be the default for my class and how can I handle the not found case using a delegate?</p>