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

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8

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 Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft