Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.Block-Methode: (IEnumerable<ParameterExpression>, IEnumerable<Expression>)

.NET Framework (current version)
 

Veröffentlicht: Oktober 2016

Erstellt ein BlockExpression, das die angegebenen Variablen und Ausdrücke enthält.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static BlockExpression Block(
	IEnumerable<ParameterExpression> variables,
	IEnumerable<Expression> expressions
)

Parameter

variables
Type: System.Collections.Generic.IEnumerable<ParameterExpression>

Die Variablen im Block.

expressions
Type: System.Collections.Generic.IEnumerable<Expression>

Die Ausdrücke im 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 pass a parameter to a block expression and process this parameter within a block.

// Add the following directive to your file:
// using System.Linq.Expressions;  


// This block has a parameter expression
// that represents a variable within the block scope.
// It assigns a value to the variable,
// and then adds a constant to the assigned value. 

ParameterExpression varExpr = Expression.Variable(typeof(int), "sampleVar");
BlockExpression blockExpr = Expression.Block(
    new ParameterExpression[] { varExpr },
    Expression.Assign(varExpr, Expression.Constant(1)),
    Expression.Add(varExpr, Expression.Constant(5))
);

// 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());

Console.WriteLine("The result of executing the expression tree:");
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(
    Expression.Lambda<Func<int>>(blockExpr).Compile()());

// This code example produces the following output:
// The expressions from the block expression:
// (sampleVar = 1)
// (sampleVar + 5)
// The result of executing the expression tree:
// 6

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 4.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 4.0
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: