Ho trovato in MSDN's Linq samples un metodo pulito chiamato Fold() che voglio usare. Il loro esempio:Dov'è il metodo di estensione LINQ "Piegatura"?
double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };
double product =
doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor);
Purtroppo, non posso ottenere questo per compilare, sia nella loro esempio o nel mio proprio codice, e non riesco a trovare altrove in MSDN (come Enumerable o metodi di estensione Array) che menziona questo metodo L'errore che ottengo è una pianura vecchio "non so nulla" errore:
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?)
sto usando altri metodi che credo provengono da Linq (come Select() e dove()), e Sto "usando System.Linq", quindi penso che sia tutto OK.
Questo metodo esiste davvero in C# 3.5 e, in caso affermativo, cosa sto facendo male?
Controllare la traccia di mollica di pane * nella pagina degli esempi a cui si fa riferimento - si riferisce a C# 3 come prodotto futuro. I prodotti futuri cambiano spesso prima della spedizione. Come gli altri citati, vedi Enumerable.Aggregate e divertiti. :) * Centro per sviluppatori Visual C#> Home> Informazioni sul prodotto> Versioni future> 101 Esempi LINQ> Operatori aggregati –