title: Where is the "Fold" LINQ Extension Method?
body: <p>I found in <a href="http://msdn.microsoft.com/en-us/vcsharp/aa336747.aspx#foldSimple" rel="noreferrer">MSDN's Linq samples</a> a neat method called Fold() that I want to use.  Their example:</p>
  
  <pre><code>double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 }; 
  double product = 
       doubles.Fold((runningProduct, nextFactor) =&gt; runningProduct * nextFactor); 
  </code></pre>
  
  <p>Unfortunately, I can't get this to compile, either in their example or in my own code, and I can't find anywhere else in MSDN (like Enumerable or Array extension methods) that mention this method.  The error I get is a plain old "don't know anything about that" error:</p>
  
  <pre><code>error CS1061: 'System.Array' does not contain a definition for 'Fold' and no 
  extension method 'Fold' accepting a first argument of type 'System.Array' could 
  be found (are you missing a using directive or an assembly reference?)
  </code></pre>
  
  <p>I'm using other methods which I believe come from Linq (like Select() and Where()), and I'm "using System.Linq", so I think that's all OK.</p>
  
  <p>Does this method really exist in C# 3.5, and if so, what am I doing wrong?</p>