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

  • gadgetgal38

    gadgetgal38

    9 HAZİRAN 2009
  • SDSARG3

    SDSARG3

    14 Mart 2009
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006