Collapse the table of content
Expand the table of content
Expand Minimize

Expression.Assign Method

Creates a BinaryExpression that represents an assignment operation.

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

public static BinaryExpression Assign(
	Expression left,
	Expression right
)

Parameters

left
Type: System.Linq.Expressions.Expression

An Expression to set the Left property equal to.

right
Type: System.Linq.Expressions.Expression

An Expression to set the Right property equal to.

Return Value

Type: System.Linq.Expressions.BinaryExpression
A BinaryExpression that has the NodeType property equal to Assign and the Left and Right properties set to the specified values.

The Assign expression copies a value for value types, and it copies a reference for reference types.

The following code example shows how to create an expression that represents an assignment operation.

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

            // To demonstrate the assignment operation, we create a variable.
            ParameterExpression variableExpr = Expression.Variable(typeof(String), "sampleVar");

            // This expression represents the assignment of a value 
            // to a variable expression. 
            // It copies a value for value types, and 
            // copies a reference for reference types.
            Expression assignExpr = Expression.Assign(
                variableExpr,
                Expression.Constant("Hello World!")
                );

            // The block expression allows for executing several expressions sequentually. 
            // In this block, we pass the variable expression as a parameter, 
            // and then assign this parameter a value in the assign expression.
            Expression blockExpr = Expression.Block(
                new ParameterExpression[] { variableExpr },
                assignExpr
                );

            // Print out the assign expression.
            Console.WriteLine(assignExpr.ToString());

            // The following statement first creates an expression tree, 
            // then compiles it, and then executes it.  
            Console.WriteLine(Expression.Lambda<Func<String>>(blockExpr).Compile()());

            // This code example produces the following output: 
            // 
            // (sampleVar = "Hello World!")
            // Hello World!

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft