ฉันพบในตัวอย่าง 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) ที่พูดถึงวิธีนี้ ข้อผิดพลาดที่ฉันได้รับเป็นข้อผิดพลาด "ไม่รู้อะไรเลย" แบบเก่า:
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 หรือไม่ถ้าเป็นเช่นนั้นฉันทำอะไรผิด?