Cosa sono gli Expression Trees, come li usi e perché li useresti?

.net c# expression-trees linq

Domanda

Ho appena scoperto il concetto di alberi di espressione che ho sentito più volte. Voglio solo capire cosa si intende per un albero di espressione e il suo scopo.

Mi piacerebbe se qualcuno potesse indirizzarmi anche a semplici spiegazioni e esempi di utilizzo.

Risposta accettata

Un albero delle espressioni è una struttura di dati che contiene espressioni, che è in pratica codice. Quindi è una struttura ad albero che rappresenta un calcolo che puoi fare nel codice. Queste parti di codice possono quindi essere eseguite "eseguendo" l'albero delle espressioni su un insieme di dati.

Una cosa grandiosa degli alberi di espressione è che puoi crearli in codice; cioè, si costruisce codice eseguibile (o una sequenza di passaggi) nel codice . È anche possibile modificare il codice prima di eseguirlo sostituendo espressioni con altre espressioni.

Un'espressione è quindi una funzione delegata, ad esempio (int x => return x * x) .

Vedi anche http://blogs.msdn.com/b/charlie/archive/2008/01/31/expression-tree-basics.aspx



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché