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

  • bashirsultani

    bashirsultan

    22 Mart 2010
  • Bratayley

    Bratayley

    30 Aralık 2010
  • Darren Kitchen

    Darren Kitch

    3 EKİM 2011