CodeIterationStatement Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine for Anweisung oder eine Schleife durch einen Block von Anweisungen dar, wobei ein Testausdruck als Bedingung für die Fortsetzung der Schleife verwendet wird.
public ref class CodeIterationStatement : System::CodeDom::CodeStatement
public 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
type CodeIterationStatement = class
inherit 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
- Vererbung
- Attribute
Beispiele
In diesem Beispiel wird die Verwendung einer CodeIterationStatement Schleife zum Darstellen einer for Schleife veranschaulicht.
// 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)
Hinweise
Eine CodeIterationStatement kann eine for Schleife oder while Schleife darstellen.
Die InitStatement Eigenschaft gibt die Anweisung an, die vor der ersten Schleifeniteration ausgeführt werden soll. Die TestExpression Eigenschaft gibt den Fortsetzungsausdruck der Schleife an, der am Ende jeder Schleifeniteration ausgewertet true werden muss, damit eine weitere Iteration beginnt. Die IncrementStatement Eigenschaft gibt die Anweisung an, die am Ende jeder Schleifeniteration ausgeführt werden soll. Die Statements Eigenschaft gibt die Auflistung von Anweisungen an, die innerhalb der Schleife ausgeführt werden sollen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| CodeIterationStatement() |
Initialisiert eine neue Instanz der CodeIterationStatement-Klasse. |
| CodeIterationStatement(CodeStatement, CodeExpression, CodeStatement, CodeStatement[]) |
Initialisiert eine neue Instanz der CodeIterationStatement Klasse mithilfe der angegebenen Parameter. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| EndDirectives |
Ruft ein CodeDirectiveCollection Objekt ab, das Enddirektiven enthält. (Geerbt von CodeStatement) |
| IncrementStatement |
Dient zum Abrufen oder Festlegen der Anweisung, die nach jedem Schleifenzyklus aufgerufen wird. |
| InitStatement |
Ruft die Initialisierungsanweisung der Schleife ab oder legt sie fest. |
| LinePragma |
Ruft die Zeile ab, in der die Code-Anweisung auftritt, oder legt sie fest. (Geerbt von CodeStatement) |
| StartDirectives |
Ruft ein CodeDirectiveCollection Objekt ab, das Startdirektiven enthält. (Geerbt von CodeStatement) |
| Statements |
Ruft die Auflistung von Anweisungen ab, die innerhalb der Schleife ausgeführt werden sollen. |
| TestExpression |
Ruft den Ausdruck ab, der als Bedingung getestet werden soll, die die Schleife fortsetzt, oder legt diesen fest. |
| UserData |
Ruft die vom Benutzer definierbaren Daten für das aktuelle Objekt ab. (Geerbt von CodeObject) |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |