CodeIterationStatement クラスとは?

辞典・百科事典の検索サービス - Weblio辞書

初めての方へ

参加元一覧


用語解説|全文検索
Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > CodeIterationStatement クラスの意味・解説 

.NET Framework クラス ライブラリ リファレンス

日本マイクロソフト株式会社日本マイクロソフト株式会社

CodeIterationStatement クラス

for ステートメント、またはループ続行条件としてテスト式を使用するステートメントブロック反復理すループを表します。

名前空間: System.CodeDom
アセンブリ: System (system.dll 内)
構文構文

解説解説

CodeIterationStatement では、for ループwhile ループを表すことができます

InitStatement プロパティは、ループ最初反復前に実行するステートメント指定します。TestExpression プロパティは、ループ継続条件式を指定します。次の反復開始するためには、この式が各ループ反復最後true評価される必要があります。IncrementStatement プロパティは、各ループ反復最後に実行するステートメント指定します。Statements プロパティは、ループ内で実行するステートメントコレクション指定します。

使用例使用

CodeIterationStatement使用して、for ループを表す例を次に示します。

 ' 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)
// 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.
CodeVariableDeclarationStatement^ testInt = gcnew CodeVariableDeclarationStatement(
 int::typeid,"testInt",gcnew CodePrimitiveExpression(
 (int^)0 ) );
array<CodeMethodInvokeExpression^>^writelineparams = {gcnew CodeMethodInvokeExpression(
 gcnew CodeVariableReferenceExpression( "testInt" ),"ToString",nullptr
 )};
array<CodeStatement^>^codestatements = {gcnew CodeExpressionStatement( gcnew
 CodeMethodInvokeExpression( gcnew CodeMethodReferenceExpression( gcnew CodeTypeReferenceExpression(
 "Console" ),"WriteLine" ),writelineparams ) )};

// Creates a for loop that sets testInt to 0 and continues incrementing
 testInt by 1 each loop until testInt is not less than 10.

// Each loop iteration the value of the integer is output using the
 Console.WriteLine method.
CodeIterationStatement^ forLoop = gcnew CodeIterationStatement( gcnew CodeAssignStatement(
 gcnew CodeVariableReferenceExpression( "testInt" ),gcnew CodePrimitiveExpression(
 1 ) ),gcnew CodeBinaryOperatorExpression( gcnew CodeVariableReferenceExpression( "testInt" ),CodeBinaryOperatorType::LessThan,gcnew CodePrimitiveExpression( 10
 ) ),gcnew CodeAssignStatement( gcnew CodeVariableReferenceExpression( "testInt" ),gcnew CodeBinaryOperatorExpression( gcnew CodeVariableReferenceExpression( "testInt" ),CodeBinaryOperatorType::Add,gcnew CodePrimitiveExpression( 1 ) ) ),codestatements );

// 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.
CodeVariableDeclarationStatement testInt = new 
    CodeVariableDeclarationStatement(int.class.ToType(),
 
    "testInt", new CodePrimitiveExpression((Int32)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((Int32)1))
,
    // testExpression parameter to test for continuation condition.
    new CodeBinaryOperatorExpression(new 
    CodeVariableReferenceExpression("testInt"), 
    CodeBinaryOperatorType.LessThan, new CodePrimitiveExpression(
    (Int32)10)),
    // incrementStatement parameter indicates statement to execute after
    // each iteration.
    new CodeAssignStatement(new 
    CodeVariableReferenceExpression("testInt"), new
 
    CodeBinaryOperatorExpression(new 
    CodeVariableReferenceExpression("testInt"), 
    CodeBinaryOperatorType.Add, new CodePrimitiveExpression((Int32)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 CodeExpression [] { new CodeMethodInvokeExpression(new
 
    CodeVariableReferenceExpression("testInt"), "ToString", 
    new CodeExpression[] {}) })) });
    // A VJ# 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(System.Convert.ToString(testInt));
継承階層継承階層
System.Object
   System.CodeDom.CodeObject
     System.CodeDom.CodeStatement
      System.CodeDom.CodeIterationStatement
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照





CodeIterationStatement クラスのページへのリンク
「CodeIterationStatement クラス」の関連用語
CodeIterationStatement クラスのお隣キーワード
モバイル
モバイル版のWeblioは、下記のURLからアクセスしてください。
http://m.weblio.jp/
_ _   


CodeIterationStatement クラスのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2012 Microsoft.All rights reserved.

©2012 Weblio RSS