Ich habe in den Linq-Beispielen von MSDN eine nette Methode namens Fold () gefunden, die ich verwenden möchte. Ihr Beispiel:
double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
double product =
doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor);
Leider kann ich dies weder in ihrem Beispiel noch in meinem eigenen Code kompilieren lassen, und ich kann nirgendwo anders in MSDN (wie Enumerable- oder Array-Erweiterungsmethoden) finden, die diese Methode erwähnen. Der Fehler, den ich bekomme, ist ein einfacher alter Fehler "Ich weiß nichts darüber":
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?)
Ich verwende andere Methoden, von denen ich glaube, dass sie von Linq stammen (wie Select () und Where ()), und ich verwende "System.Linq", daher denke ich, dass alles in Ordnung ist.
Existiert diese Methode wirklich in C # 3.5, und wenn ja, was mache ich falsch?