我在 MSDN 的 Linq 样本中找到了一个简洁的方法 Fold () ,我想使用它。他们的例子:
double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
double product =
doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor);
不幸的是,无论是在他们的示例中还是在我自己的代码中,我都无法编译这个方法,而且我在 MSDN 中找不到任何其他提到这个方法的地方(比如枚举或数组扩展方法)。我得到的错误是一个普通的老式“不知道任何关于那个”错误:
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”。所以我觉得没什么问题。
这个方法真的存在于 C # 3.5中吗? 如果存在,我做错了什么?