title: Check if IEnumerable has ANY rows without enumerating over the entire list
body: <p>I have the following method which returns an <code>IEnumerable</code> of type <code>T</code>.  The implementation of the method is not important, apart from the <code>yield return</code> to <strong>lazy load</strong> the <code>IEnumerable</code>.  This is necessary as the result could have millions of items.</p>
  
  <pre><code>public IEnumerable&lt;T&gt; Parse()
  {
      foreach(...)
      {
          yield return parsedObject;
      }
  }
  </code></pre>
  
  <p><strong>Problem:</strong></p>
  
  <p>I have the following property which can be used to determine if the <code>IEnumerable</code> will have any items:</p>
  
  <pre><code>public bool HasItems
  {
      get
      {
          return Parse().Take(1).SingleOrDefault() != null;
      }
  }
  </code></pre>
  
  <p>Is there perhaps a better way to do this?</p>