Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Expression.Block (IEnumerable<ParameterExpression>, IEnumerable<Expression>)

 

Data di pubblicazione: novembre 2016

Crea un oggetto BlockExpression che contiene le espressioni e le variabili specificate.

Spazio dei nomi:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

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

Parametri

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

Variabili nel blocco.

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

Espressioni nel blocco.

Valore restituito

Type: System.Linq.Expressions.BlockExpression

Oggetto BlockExpression creato.

Quando l'espressione di blocco viene eseguita, restituisce il valore dell'ultima espressione nel blocco.

Esempio di codice seguente viene illustrato come passare un parametro a un'espressione di blocco e l'elaborazione di questo parametro all'interno di un blocco.

// 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

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 4.0
Windows Phone Silverlight
Disponibile da 8.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: