Expression.Break Method (LabelTarget)
.NET Framework (current version)
Creates a GotoExpression representing a break statement.
Assembly: System.Core (in System.Core.dll)
Parameters
- target
-
Type:
System.Linq.Expressions.LabelTarget
The LabelTarget that the GotoExpression will jump to.
Return Value
Type: System.Linq.Expressions.GotoExpressionA 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.
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
Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Show: