У зразках Linq MSDN я знайшов акуратний метод Fold (), який я хочу використовувати. Їх приклад:
double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
double product =
doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor);
На жаль, я не можу змусити це скомпілювати, ні в їх прикладі, ні у власному коді, і я не можу знайти де-небудь ще в MSDN (наприклад, Enumerable або Array extension extension), де згадується цей метод. Помилка, яку я отримую, є простою старою помилкою "нічого про це не знаю":
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?)
Я використовую інші методи, які, на мою думку, походять від Linq (наприклад, Select () та Where ()), і я "використовую System.Linq", тому я думаю, що це все нормально.
Чи справді цей метод існує в C # 3.5, і якщо так, то що я роблю не так?