Encontré en las muestras de Linq de MSDN un método ordenado llamado Fold () que quiero usar. Su ejemplo:
double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
double product =
doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor);
Desafortunadamente, no puedo compilar esto, ya sea en su ejemplo o en mi propio código, y no puedo encontrar en ningún otro lugar de MSDN (como los métodos de extensión Enumerable o Array) que mencionen este método. El error que recibo es un simple y antiguo error "no sé nada sobre eso":
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?)
Estoy usando otros métodos que creo que provienen de Linq (como Select () y Where ()), y estoy "usando System.Linq", así que creo que todo está bien.
¿Existe realmente este método en C # 3.5? Si es así, ¿qué estoy haciendo mal?