SORU
5 AĞUSTOS 2009, ÇARŞAMBA


Nerede "Pas" Uzatma Yöntemi ETMENİZ.

MSDN's Linq samples düzgün bir yöntem Kat denilen buldum() kullanmak istiyorum. Onların örnek:

double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 }; 
double product = 
     doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor);

Ne yazık ki, yapamam bu derleme, ya kendilerine örnek veya benim kendi kod ve bulamıyorum başka bir yerde BİLDİRİMLER gibi Sayısız ya Dizi uzatma yöntemleri) söz bu yöntem. Bir düz eski aldığım hata "" hata: . bu konuda bir şey bilmiyorum

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?)

Seri geliyor sanırım bu diğer yöntemleri kullanıyorum (Seç() ve()), ve ben "Sistemi."Yani herşey TAMAM sanırım. seri

Bu yöntem gerçekten C# 3.5 ve eğer öyleyse, ben ne yapıyorum yanlış var mı?

CEVAP
5 AĞUSTOS 2009, ÇARŞAMBA


Aggregate uzatma yöntemi kullanmak isteyeceksiniz:

double product = doubles.Aggregate(1.0, (prod, next) => prod * next);

Daha fazla bilgi için MSDN bkz. seed ve birbirini izleyen değerleri hesaplamak için bir ifade o zaman belirlemenizi sağlar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • LevelUpTuts

    LevelUpTuts

    20 Ocak 2012
  • Submissions101

    Submissions1

    23 ŞUBAT 2007