title: LazyList<T> vs System.Lazy<List<T>> in ASP.NET MVC 2?
body: <p>In Rob Conery's Storefront series, Rob makes extensive use of the <code>LazyList&lt;..&gt;</code> construct to pull data from <code>IQueryables</code>.</p>
  
  <ul>
  <li>How does this differ from the <code>System.Lazy&lt;...&gt;</code> construct now available in .NET 4.0 (and perhaps earlier)?</li>
  </ul>
  
  <hr>
  
  <p><strong>More depth based on DoctaJones' great answer:</strong></p>
  
  <ol>
  <li>Would you recommend one over the other if I wanted to operate on <code>IQueryable</code> as a <code>List&lt;T&gt;</code>?<br>
  I'm assuming that since <code>Lazy&lt;T&gt;</code> is in the framework now, it is a safer bet for future support and maintainability?</li>
  <li>If I want to use a strong type instead of an anonymous (<code>var</code>) type would the following statements be functionally equivalent?
  
  <ul>
  <li><code>Lazy&lt;List&lt;Products&gt;&gt; Products = new Lazy&lt;List&lt;Product&gt;&gt;();</code></li>
  <li><code>LazyList&lt;Product&gt; = new LazyList&lt;Product&gt;();</code></li>
  </ul></li>
  </ol>