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

  • Andrey Menshikov

    Andrey Mensh

    28 Ocak 2012
  • Andytokkallos

    Andytokkallo

    27 Kasım 2007
  • HTC

    HTC

    12 Ocak 2006