Allows powerful ability to compile and run code represented by expression trees (code in a tree-like data structure). This enables dynamic modification of executable code,LINQ and dynamic queries. Expression trees API (in .NET Framework 4) also supports assignments and control flow expressions such as loops, conditional blocks, and try-catch blocks.
Additionally, expression trees allows for intermediate code analysis to improve execution of a statement. For example, a sql statement with a where clause can be sent to the server for execution in place of pulling data locally and then applying the filtering/where clause.
how to use
1) Create expression 2) Compile and execute
more info
For other uses of expression trees, please see https://msdn.microsoft.com/en-us/library/bb397951(v=vs.110).aspx