Expression.Block Method (Expression[])
.NET Framework (current version)
Creates a BlockExpression that contains the given expressions and has no variables.
Assembly: System.Core (in System.Core.dll)
Parameters
- expressions
-
Type:
System.Linq.Expressions.Expression[]
The expressions in the block.
When the block expression is executed, it returns the value of the last expression in the block.
The following code example shows how to create a block expression. The block expression consists of two MethodCallExpression objects and one ConstantExpression object.
// Add the following directive to your file: // using System.Linq.Expressions; // The block expression allows for executing several expressions sequentually. // When the block expression is executed, // it returns the value of the last expression in the sequence. BlockExpression blockExpr = Expression.Block( Expression.Call( null, typeof(Console).GetMethod("Write", new Type[] { typeof(String) }), Expression.Constant("Hello ") ), Expression.Call( null, typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }), Expression.Constant("World!") ), Expression.Constant(42) ); Console.WriteLine("The result of executing the expression tree:"); // The following statement first creates an expression tree, // then compiles it, and then executes it. var result = Expression.Lambda<Func<int>>(blockExpr).Compile()(); // Print out the expressions from the block expression. Console.WriteLine("The expressions from the block expression:"); foreach (var expr in blockExpr.Expressions) Console.WriteLine(expr.ToString()); // Print out the result of the tree execution. Console.WriteLine("The return value of the block expression:"); Console.WriteLine(result); // This code example produces the following output: // // The result of executing the expression tree: // Hello World! // The expressions from the block expression: // Write("Hello ") // WriteLine("World!") // 42 // The return value of the block expression: // 42
Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Show: