Expression.Break Méthode

Définition

Crée un GotoExpression qui représente une instruction Break.Creates a GotoExpression representing a break statement.

Surcharges

Break(LabelTarget)

Crée un GotoExpression qui représente une instruction Break.Creates a GotoExpression representing a break statement.

Break(LabelTarget, Expression)

Crée un GotoExpression qui représente une instruction Break.Creates a GotoExpression representing a break statement. La valeur passée à l'étiquette au moment du saut peut être spécifiée.The value passed to the label upon jumping can be specified.

Break(LabelTarget, Type)

Crée un GotoExpression qui représente une instruction Break avec le type spécifié.Creates a GotoExpression representing a break statement with the specified type.

Break(LabelTarget, Expression, Type)

Crée un GotoExpression qui représente une instruction Break avec le type spécifié.Creates a GotoExpression representing a break statement with the specified type. La valeur passée à l'étiquette au moment du saut peut être spécifiée.The value passed to the label upon jumping can be specified.

Break(LabelTarget)

Crée un GotoExpression qui représente une instruction Break.Creates a GotoExpression representing a break statement.

public:
 static System::Linq::Expressions::GotoExpression ^ Break(System::Linq::Expressions::LabelTarget ^ target);
public static System.Linq.Expressions.GotoExpression Break (System.Linq.Expressions.LabelTarget target);
static member Break : System.Linq.Expressions.LabelTarget -> System.Linq.Expressions.GotoExpression
Public Shared Function Break (target As LabelTarget) As GotoExpression

Paramètres

target
LabelTarget

LabelTarget auquel GotoExpression accédera.The LabelTarget that the GotoExpression will jump to.

Retours

GotoExpression avec la propriété Kind égale à Break, la propriété Target égale à target et une valeur null à passer à l'étiquette cible au moment du saut.A GotoExpression with Kind equal to Break, the Target property set to target, and a null value to be passed to the target label upon jumping.

Exemples

L’exemple suivant montre comment créer une expression qui contient un LoopExpression objet qui utilise la Break méthode.The following example demonstrates how to create an expression that contains a LoopExpression object that uses the Break method.

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

// Creating a parameter expression.
ParameterExpression value = Expression.Parameter(typeof(int), "value");

// Creating an expression to hold a local variable. 
ParameterExpression result = Expression.Parameter(typeof(int), "result");

// Creating a label to jump to from a loop.
LabelTarget label = Expression.Label(typeof(int));

// Creating a method body.
BlockExpression block = Expression.Block(
    new[] { result },
    Expression.Assign(result, Expression.Constant(1)),
        Expression.Loop(
           Expression.IfThenElse(
               Expression.GreaterThan(value, Expression.Constant(1)),
               Expression.MultiplyAssign(result,
                   Expression.PostDecrementAssign(value)),
               Expression.Break(label, result)
           ),
       label
    )
);

// Compile and run an expression tree.
int factorial = Expression.Lambda<Func<int, int>>(block, value).Compile()(5);

Console.WriteLine(factorial);

// This code example produces the following output:
//
// 120
' Add the following directive to the file:
' Imports System.Linq.Expressions  

' Creating a parameter expression.
Dim value As ParameterExpression =
    Expression.Parameter(GetType(Integer), "value")

' Creating an expression to hold a local variable. 
Dim result As ParameterExpression =
    Expression.Parameter(GetType(Integer), "result")

' Creating a label to jump to from a loop.
Dim label As LabelTarget = Expression.Label(GetType(Integer))

' Creating a method body.
Dim block As BlockExpression = Expression.Block(
    New ParameterExpression() {result},
    Expression.Assign(result, Expression.Constant(1)),
    Expression.Loop(
        Expression.IfThenElse(
            Expression.GreaterThan(value, Expression.Constant(1)),
            Expression.MultiplyAssign(result,
                Expression.PostDecrementAssign(value)),
            Expression.Break(label, result)
        ),
        label
    )
)

' Compile an expression tree and return a delegate.
Dim factorial As Integer =
    Expression.Lambda(Of Func(Of Integer, Integer))(block, value).Compile()(5)

Console.WriteLine(factorial)

' This code example produces the following output:
'
' 120

Break(LabelTarget, Expression)

Crée un GotoExpression qui représente une instruction Break.Creates a GotoExpression representing a break statement. La valeur passée à l'étiquette au moment du saut peut être spécifiée.The value passed to the label upon jumping can be specified.

public:
 static System::Linq::Expressions::GotoExpression ^ Break(System::Linq::Expressions::LabelTarget ^ target, System::Linq::Expressions::Expression ^ value);
public static System.Linq.Expressions.GotoExpression Break (System.Linq.Expressions.LabelTarget target, System.Linq.Expressions.Expression value);
static member Break : System.Linq.Expressions.LabelTarget * System.Linq.Expressions.Expression -> System.Linq.Expressions.GotoExpression
Public Shared Function Break (target As LabelTarget, value As Expression) As GotoExpression

Paramètres

target
LabelTarget

LabelTarget auquel GotoExpression accédera.The LabelTarget that the GotoExpression will jump to.

value
Expression

Valeur qui sera passée à l'étiquette associée au moment du saut.The value that will be passed to the associated label upon jumping.

Retours

GotoExpression avec la propriété Kind égale à Break, la propriété Target égale à target et value à passer à l'étiquette cible au moment du saut.A GotoExpression with Kind equal to Break, the Target property set to target, and value to be passed to the target label upon jumping.

Break(LabelTarget, Type)

Crée un GotoExpression qui représente une instruction Break avec le type spécifié.Creates a GotoExpression representing a break statement with the specified type.

public:
 static System::Linq::Expressions::GotoExpression ^ Break(System::Linq::Expressions::LabelTarget ^ target, Type ^ type);
public static System.Linq.Expressions.GotoExpression Break (System.Linq.Expressions.LabelTarget target, Type type);
static member Break : System.Linq.Expressions.LabelTarget * Type -> System.Linq.Expressions.GotoExpression

Paramètres

target
LabelTarget

LabelTarget auquel GotoExpression accédera.The LabelTarget that the GotoExpression will jump to.

type
Type

Type auquel la propriété Type doit être égale.An Type to set the Type property equal to.

Retours

GotoExpression avec la propriété Kind égale à Break, la propriété Target égale à target et la propriété Type égale à type.A GotoExpression with Kind equal to Break, the Target property set to target, and the Type property set to type.

Break(LabelTarget, Expression, Type)

Crée un GotoExpression qui représente une instruction Break avec le type spécifié.Creates a GotoExpression representing a break statement with the specified type. La valeur passée à l'étiquette au moment du saut peut être spécifiée.The value passed to the label upon jumping can be specified.

public:
 static System::Linq::Expressions::GotoExpression ^ Break(System::Linq::Expressions::LabelTarget ^ target, System::Linq::Expressions::Expression ^ value, Type ^ type);
public static System.Linq.Expressions.GotoExpression Break (System.Linq.Expressions.LabelTarget target, System.Linq.Expressions.Expression value, Type type);
static member Break : System.Linq.Expressions.LabelTarget * System.Linq.Expressions.Expression * Type -> System.Linq.Expressions.GotoExpression

Paramètres

target
LabelTarget

LabelTarget auquel GotoExpression accédera.The LabelTarget that the GotoExpression will jump to.

value
Expression

Valeur qui sera passée à l'étiquette associée au moment du saut.The value that will be passed to the associated label upon jumping.

type
Type

Type auquel la propriété Type doit être égale.An Type to set the Type property equal to.

Retours

GotoExpression avec la propriété Kind égale à Break, la propriété Target égale à target, la propriété Type égale à type et value à passer à l'étiquette cible au moment du saut.A GotoExpression with Kind equal to Break, the Target property set to target, the Type property set to type, and value to be passed to the target label upon jumping.

S’applique à