Ho ragione nel dire che le espressioni lambda esistono solo in fase di compilazione e una volta compilate diventano un'espressione (LambdaExpression?) O un delegato?Do C# lambdas esiste solo al momento della compilazione?
16
A
risposta
16
Sì. Oltre a un delegato, lambda diventa un metodo generato. Il delegato fa riferimento a quel metodo. Se si chiudono su variabili, il metodo diventa un metodo di istanza su una classe generata che mantiene lo stato di chiusura.
In questo senso è possibile utilizzare una lambda e variabili locali per creare una classe con campi e un metodo, simile a JavaScript.
Problemi correlati
- 1. Rileva C# versione al momento della compilazione
- 2. ID tipo C++ al momento della compilazione
- 3. Genera numeri univoci al momento della compilazione
- 4. stampa sizeof (T) al momento della compilazione
- 5. Come testare UIViewControllers al momento della compilazione?
- 6. C++: disambigua questo codice al momento della compilazione?
- 7. Piattaforma/processore di destinazione al momento della compilazione
- 8. Determina la lunghezza della stringa netta al momento della compilazione
- 9. Rileva la presenza del modello al momento della compilazione
- 10. Scala - Imposizione della dimensione del vettore al momento della compilazione
- 11. Valutazione dell'espressione di primo livello al momento della compilazione
- 12. Disabilita la registrazione in Java al momento della compilazione
- 13. come applicare tipo non generico al momento della compilazione
- 14. display intero al momento della compilazione a static_assert()
- 15. Gli array possono essere indicizzati al momento della compilazione?
- 16. Forza una stretta coercizione implicita al momento della compilazione
- 17. Qual è un valore noto al momento della compilazione?
- 18. Visualizzare le viste al momento della compilazione VS2010?
- 19. L'UB garantito può essere rifiutato al momento della compilazione?
- 20. Leggere un file in una stringa al momento della compilazione
- 21. Valutare una funzione al momento della compilazione con Template Haskell
- 22. catch std :: allocazioni di funzioni al momento della compilazione
- 23. Perché Java associa le variabili al momento della compilazione?
- 24. dedurre intero spazio vettore al momento della compilazione
- 25. Do C++ lambdas non seleziona correttamente le funzioni sovraccaricate?
- 26. Errore gradle Studio Android al momento della compilazione
- 27. intermediario - percorso risorsa per CDN al momento della compilazione
- 28. Convalida il contenuto di std :: initializer_list al momento della compilazione
- 29. Come sostituire un elemento tupla al momento della compilazione?
- 30. Come si generano staticamente dati float al momento della compilazione?
http://stackoverflow.com/questions/8993426/what-are-c-sharp-lambdas-compiled-into-a-stackframe-an-instance-of-an-anonymo – christiandev