CodeIterationStatement Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een for instructie of een lus door een blok met instructies, waarbij een testexpressie wordt gebruikt als voorwaarde voor het doorlopen van een lus.
public ref class CodeIterationStatement : System::CodeDom::CodeStatement
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeIterationStatement : System.CodeDom.CodeStatement
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeIterationStatement = class
inherit CodeStatement
Public Class CodeIterationStatement
Inherits CodeStatement
- Overname
- Kenmerken
Voorbeelden
In dit voorbeeld ziet u hoe u een CodeIterationStatement lus gebruikt om een for lus weer te geven.
// Declares and initializes an integer variable named testInt.
CodeVariableDeclarationStatement testInt = new CodeVariableDeclarationStatement(typeof(int), "testInt", new CodePrimitiveExpression(0) );
// Creates a for loop that sets testInt to 0 and continues incrementing testInt by 1 each loop until testInt is not less than 10.
CodeIterationStatement forLoop = new CodeIterationStatement(
// initStatement parameter for pre-loop initialization.
new CodeAssignStatement( new CodeVariableReferenceExpression("testInt"), new CodePrimitiveExpression(1) ),
// testExpression parameter to test for continuation condition.
new CodeBinaryOperatorExpression( new CodeVariableReferenceExpression("testInt"),
CodeBinaryOperatorType.LessThan, new CodePrimitiveExpression(10) ),
// incrementStatement parameter indicates statement to execute after each iteration.
new CodeAssignStatement( new CodeVariableReferenceExpression("testInt"), new CodeBinaryOperatorExpression(
new CodeVariableReferenceExpression("testInt"), CodeBinaryOperatorType.Add, new CodePrimitiveExpression(1) )),
// statements parameter contains the statements to execute during each interation of the loop.
// Each loop iteration the value of the integer is output using the Console.WriteLine method.
new CodeStatement[] { new CodeExpressionStatement( new CodeMethodInvokeExpression( new CodeMethodReferenceExpression(
new CodeTypeReferenceExpression("Console"), "WriteLine" ), new CodeMethodInvokeExpression(
new CodeVariableReferenceExpression("testInt"), "ToString" ) ) ) } );
// A C# code generator produces the following source code for the preceeding example code:
// int testInt = 0;
// for (testInt = 1; (testInt < 10); testInt = (testInt + 1)) {
// Console.WriteLine(testInt.ToString());
' Declares and initializes an integer variable named testInt.
Dim testInt As New CodeVariableDeclarationStatement(GetType(Integer), "testInt", New CodePrimitiveExpression(0))
' Creates a for loop that sets testInt to 0 and continues incrementing testInt by 1 each loop until testInt is not less than 10.
' initStatement parameter for pre-loop initialization.
' testExpression parameter indicates the epxression to test for continuation condition.
' incrementStatement parameter indicates statement to execute after each iteration.
' statements parameter contains the statements to execute during each interation of the loop.
' Each loop iteration the value of the integer is output using the Console.WriteLine method.
Dim forLoop As New CodeIterationStatement( _
New CodeAssignStatement(New CodeVariableReferenceExpression("testInt"), New CodePrimitiveExpression(1)), _
New CodeBinaryOperatorExpression(New CodeVariableReferenceExpression("testInt"), _
CodeBinaryOperatorType.LessThan, New CodePrimitiveExpression(10)), _
New CodeAssignStatement(New CodeVariableReferenceExpression("testInt"), _
New CodeBinaryOperatorExpression(New CodeVariableReferenceExpression("testInt"), _
CodeBinaryOperatorType.Add, New CodePrimitiveExpression(1))), _
New CodeStatement() {New CodeExpressionStatement( _
New CodeMethodInvokeExpression(New CodeMethodReferenceExpression(New CodeTypeReferenceExpression("Console"), "WriteLine"), _
New CodeMethodInvokeExpression(New CodeVariableReferenceExpression("testInt"), "ToString")))})
' A Visual Basic code generator produces the following source code for the preceeding example code:
' Dim testInt As Integer = 0
' testInt = 1
' Do While (testInt < 10)
' Console.WriteLine(testInt.ToString)
' testInt = (testInt + 1)
Opmerkingen
A CodeIterationStatement kan een for lus of while lus vertegenwoordigen.
De InitStatement eigenschap geeft de instructie op die moet worden uitgevoerd vóór de eerste lus-iteratie. De TestExpression eigenschap geeft de herhalingsexpressie van de lus op, die moet true worden geëvalueerd aan het einde van elke lusiteratie om te beginnen met een andere iteratie. De IncrementStatement eigenschap geeft de instructie op die moet worden uitgevoerd aan het einde van elke lus-iteratie. De Statements eigenschap geeft de verzameling instructies op die binnen de lus moeten worden uitgevoerd.
Constructors
| Name | Description |
|---|---|
| CodeIterationStatement() |
Initialiseert een nieuw exemplaar van de CodeIterationStatement klasse. |
| CodeIterationStatement(CodeStatement, CodeExpression, CodeStatement, CodeStatement[]) |
Initialiseert een nieuw exemplaar van de CodeIterationStatement klasse met behulp van de opgegeven parameters. |
Eigenschappen
| Name | Description |
|---|---|
| EndDirectives |
Hiermee haalt u een CodeDirectiveCollection object op dat eindrichtlijnen bevat. (Overgenomen van CodeStatement) |
| IncrementStatement |
Haalt de instructie op die na elke luscyclus wordt aangeroepen of stelt deze in. |
| InitStatement |
Hiermee haalt u de initialisatie-instructie voor de lus op of stelt u deze in. |
| LinePragma |
Hiermee haalt u de regel op waarop de code-instructie plaatsvindt of stelt u deze in. (Overgenomen van CodeStatement) |
| StartDirectives |
Hiermee haalt u een CodeDirectiveCollection object op dat beginrichtlijnen bevat. (Overgenomen van CodeStatement) |
| Statements |
Hiermee wordt de verzameling instructies opgehaald die binnen de lus moeten worden uitgevoerd. |
| TestExpression |
Hiermee haalt u de expressie op of stelt u deze in om te testen als de voorwaarde die doorgaat met de lus. |
| UserData |
Haalt de door de gebruiker gedefinieerde gegevens voor het huidige object op. (Overgenomen van CodeObject) |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |