Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

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

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
Typ: System.Collections.Generic.IEnumerable<ParameterExpression>
Die Variablen im Block.
expressions
Typ: System.Collections.Generic.IEnumerable<Expression>
Die Ausdrücke im Block.

Wenn der Blockausdruck ausgeführt wird, gibt dieser den Wert des letzten Ausdrucks im Block zurück.

Das folgende Codebeispiel zeigt, wie ein Parameter an einen Blockausdruck übergeben und dieser Parameter innerhalb eines Blocks verarbeitet wird.


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



.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Unterstützt in: 4

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft