Expression.Break Expression.Break Expression.Break Expression.Break Method

定義

break ステートメントを表す GotoExpression を作成します。Creates a GotoExpression representing a break statement.

オーバーロード

Break(LabelTarget) Break(LabelTarget) Break(LabelTarget) Break(LabelTarget)

break ステートメントを表す GotoExpression を作成します。Creates a GotoExpression representing a break statement.

Break(LabelTarget, Expression) Break(LabelTarget, Expression) Break(LabelTarget, Expression) Break(LabelTarget, Expression)

break ステートメントを表す GotoExpression を作成します。Creates a GotoExpression representing a break statement. ジャンプ時にラベルに渡す値を指定できます。The value passed to the label upon jumping can be specified.

Break(LabelTarget, Type) Break(LabelTarget, Type) Break(LabelTarget, Type)

型を指定して、break ステートメントを表す GotoExpression を作成します。Creates a GotoExpression representing a break statement with the specified type.

Break(LabelTarget, Expression, Type) Break(LabelTarget, Expression, Type) Break(LabelTarget, Expression, Type)

型を指定して、break ステートメントを表す GotoExpression を作成します。Creates a GotoExpression representing a break statement with the specified type. ジャンプ時にラベルに渡す値を指定できます。The value passed to the label upon jumping can be specified.

Break(LabelTarget) Break(LabelTarget) Break(LabelTarget) Break(LabelTarget)

break ステートメントを表す GotoExpression を作成します。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

パラメーター

target
LabelTarget LabelTarget LabelTarget LabelTarget

LabelTarget のジャンプ先の GotoExpressionThe LabelTarget that the GotoExpression will jump to.

戻り値

Break と等しい GotoExpressionKind に設定された Target プロパティ、およびジャンプ時にジャンプ先のラベルに渡される null 値を含む targetA 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.

次の例を含む式を作成する方法を示します、LoopExpressionを使用するオブジェクト、Breakメソッド。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) Break(LabelTarget, Expression) Break(LabelTarget, Expression) Break(LabelTarget, Expression)

break ステートメントを表す GotoExpression を作成します。Creates a GotoExpression representing a break statement. ジャンプ時にラベルに渡す値を指定できます。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

パラメーター

target
LabelTarget LabelTarget LabelTarget LabelTarget

LabelTarget のジャンプ先の GotoExpressionThe LabelTarget that the GotoExpression will jump to.

value
Expression Expression Expression Expression

ジャンプ時に関連付けられているラベルに渡される値。The value that will be passed to the associated label upon jumping.

戻り値

Break と等しい GotoExpressionKind に設定された Target プロパティ、およびジャンプ時にジャンプ先のラベルに渡される target を含む valueA 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) Break(LabelTarget, Type) Break(LabelTarget, Type)

型を指定して、break ステートメントを表す GotoExpression を作成します。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

パラメーター

target
LabelTarget LabelTarget LabelTarget LabelTarget

LabelTarget のジャンプ先の GotoExpressionThe LabelTarget that the GotoExpression will jump to.

type
Type Type Type Type

Type プロパティを等しく設定する TypeAn Type to set the Type property equal to.

戻り値

Break と等しい GotoExpressionKind に設定された Target プロパティ、および target に設定された Type プロパティを含む typeA GotoExpression with Kind equal to Break, the Target property set to target, and the Type property set to type.

Break(LabelTarget, Expression, Type) Break(LabelTarget, Expression, Type) Break(LabelTarget, Expression, Type)

型を指定して、break ステートメントを表す GotoExpression を作成します。Creates a GotoExpression representing a break statement with the specified type. ジャンプ時にラベルに渡す値を指定できます。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

パラメーター

target
LabelTarget LabelTarget LabelTarget LabelTarget

LabelTarget のジャンプ先の GotoExpressionThe LabelTarget that the GotoExpression will jump to.

value
Expression Expression Expression Expression

ジャンプ時に関連付けられているラベルに渡される値。The value that will be passed to the associated label upon jumping.

type
Type Type Type Type

Type プロパティを等しく設定する TypeAn Type to set the Type property equal to.

戻り値

Break と等しい GotoExpressionKind に設定された Target プロパティ、target に設定された Type プロパティ、およびジャンプ時にジャンプ先のラベルに渡される type を含む valueA 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.

適用対象