Ben bulundu MSDN'ın Linq örneklerinde () kullanmak istediğim o Katlama denilen düzgün bir yöntem. Örnekleri:
double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
double product =
doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor);
Ne yazık ki, bunu kendi örneğimde veya kendi kodumda derleyemiyorum ve MSDN'de bu yöntemden bahseden başka hiçbir yerde (Numaralandırılabilir veya Dizi genişletme yöntemleri gibi) bulamıyorum. Aldığım hata eski bir "bununla ilgili hiçbir şey bilmiyorum" hatası:
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'ten geldiğine inandığım diğer yöntemleri kullanıyorum (Select () ve Where () gibi) ve "System.Linq kullanıyorum", yani bence her şey yolunda.
Bu yöntem gerçekten C # 3.5'te var mı ve öyleyse, neyi yanlış yapıyorum?