Saya menemukan dalam sampel Linq MSDN sebuah metode rapi yang disebut Fold () yang ingin saya gunakan. Contoh mereka:
double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
double product =
doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor);
Sayangnya, saya tidak bisa mendapatkan ini untuk dikompilasi, baik dalam contoh mereka atau dalam kode saya sendiri, dan saya tidak dapat menemukan tempat lain di MSDN (seperti metode ekstensi Enumerable atau Array) yang menyebutkan metode ini. Kesalahan yang saya dapatkan adalah kesalahan lama "tidak tahu apa-apa tentang itu":
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?)
Saya menggunakan metode lain yang saya percaya berasal dari Linq (seperti Select () dan Where ()), dan saya "menggunakan System.Linq", jadi saya pikir itu semua OK.
Apakah metode ini benar-benar ada di C # 3.5, dan jika demikian, apa yang saya lakukan salah?