Expression.Decrement Method (Expression)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Creates a UnaryExpression that represents the decrementing of the expression by 1.

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

Syntax

'Declaration
Public Shared Function Decrement ( _
    expression As Expression _
) As UnaryExpression
public static UnaryExpression Decrement(
    Expression expression
)

Parameters

Return Value

Type: System.Linq.Expressions.UnaryExpression
A UnaryExpression that represents the decremented expression.

Remarks

This expression is functional and does not change the value of the object passed to it.

Examples

The following code example shows how to create an expression that substracts 1 from a given value.

' Add the following directive to your file:
' Imports System.Linq.Expressions   

Dim num As Double = 5.5

' This expression represents a decrement operation 
' that subtracts 1 from a value. 
Dim decrementExpr As Expression = Expression.Decrement(
                            Expression.Constant(num)
                        )

' Print the expression.
outputBlock.Text &= decrementExpr.ToString() & vbCrLf

' The following statement first creates an expression tree,
' then compiles it, and then executes it.
outputBlock.Text &=
    Expression.Lambda(Of Func(Of Double))(decrementExpr).Compile()() & vbCrLf

' The value of the variable did not change,
' because the expression is functional.
outputBlock.Text &= "object: " & num & vbCrLf

' This code example produces the following output:
'
' Decrement(5.5)
' 4.5
' object: 5.5
// Add the following directive to your file:
// using System.Linq.Expressions;  

double num = 5.5;

// This expression represents a decrement operation 
// that subtracts 1 from a value. 
Expression decrementExpr = Expression.Decrement(
                            Expression.Constant(num)
                        );

// Print expression.
outputBlock.Text += decrementExpr.ToString() + "\n";

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
outputBlock.Text +=
    Expression.Lambda<Func<double>>(decrementExpr).Compile()() + "\n";

// The value of the variable did not change,
// because the expression is functional.
outputBlock.Text += "object: " + num + "\n";

// This code example produces the following output:
//
// Decrement(5.5)
// 4.5
// object: 5.5

Version Information

Silverlight

Supported in: 5, 4

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.