VB.Net For Each…Next、Exit、Continue ステートメント

⚡ スマートサマリー

VB.Net For Each は、ping 配列またはコレクションの各要素に対してコードブロックを一度繰り返すステートメントにより、各項目を順番に読み取ることができます。 tracインデックスを作成する。

  • 🔁 目的: コレクションまたは配列内の各項目に対して、ステートメントを一度ずつ繰り返します。
  • 🧩 構文: ループは For Each … In から対応する Next ステートメントまで実行されます。
  • 📚 コレクション: For Each は、配列、リスト、辞書などの任意の IEnumerable 型を反復処理します。
  • 🪆 入れ子: One For Eachは、外側のアイテムと内側のアイテムをそれぞれペアにした構造です。
  • フロー制御: Exit For はループを抜けます。Continue For は次の項目に進みます。
  • 🤖 AIによる支援: GitHub CopilotとIntelliCode Visual Studio 2026 では、入力しながら For Each ループを完成させることができます。

各ループの VB.Net

各ループの VB.Net

VB.Net For Each は、ping ステートメント。コレクション内のすべての項目に対して一連のステートメントを繰り返す必要がある場合は、このステートメントを使用します。コレクションまたは配列に含まれるすべての要素を操作するために使用できます。

VB.Net の構文 For Each… Next ステートメント

その VB.Net For Each文は、以下の構文に従います。

For Each item [ As data_type ] In group  
    [ statement(s) ]  
    [ Continue For ]  
    [ statement(s) ]  
    [ Exit For ]  
    [ statement(s) ]  
Next [ item ]

ここでは、

  • その item は、コレクションのすべての項目を反復処理するために使用される変数です。For Each ステートメントでは必須ですが、Next ステートメントでは省略可能です。
  • その data_typeデータ・タイプ 要素の。 品目が申告されていない場合は必須です。
  • その group ステートメントが繰り返されるコレクションです。 それは必須です。
  • その statement(s) はオプションです。 これは、グループ内のすべての項目に対して実行される XNUMX つ以上のステートメントを示します。
  • その Continue For 制御を For Each ループの先頭に移します。 オプションです。
  • その Exit For 制御を For Each ループの外に移します。 オプションです。
  • その Next For Each ループの終了を示します。 それは必須です。

VB.Net で For Each ループを使用する方法

次の例は、VB.Net で For Each ループを使用する方法を示しています。

ステップ1) 新しいコンソール アプリケーションを作成します。

ステップ2) 次のコードを使用します。

Module Module1
    Sub Main()
        Dim myArray() As Integer = {10, 3, 12, 23, 9}
        Dim item As Integer
        For Each item In myArray
            Console.WriteLine(item)
        Next
        Console.ReadKey()
    End Sub
End Module

ステップ3) 上部のバーにある「開始」ボタンをクリックしてコードを実行してください。以下の結果が表示されるはずです。

VB.Net For Each ループの例の出力

コードのスクリーンショットは次のとおりです。

VB.NetのFor Eachループのコード例

の説明 Code:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャを開始します。
  3. 5 つの整数のセットを含む myArray という名前の配列を作成します。
  4. item という名前の整数変数を作成します。
  5. item 変数を使用して、myArray という名前の配列の項目を反復処理します。
  6. 上記のステートメントによって配列内で見つかった項目をコンソールに出力します。
  7. For Each ループの終わり。
  8. コンソール ウィンドウをしばらく一時停止し、ユーザーがウィンドウを閉じる操作を行うのを待ちます。
  9. メインのサブプロシージャの終了。
  10. モジュールの終わり。

VB.Net の入れ子になった For ループ

For Eachループはネストすることができます。これは、あるFor Eachループの中に別のFor Eachループを配置することで実現します。例を使ってこれを説明しましょう。

ステップ1) 新しいコンソール アプリケーションを作成します。

ステップ2) 次のコードを使用します。

Module Module1
    Sub Main()
        Dim nums() As Integer = {12, 23, 35}
        Dim names() As String = {"Guru99", "alice", "antony"}
        For Each n As Integer In nums
            For Each st As String In names
                Console.Write(n.ToString & st & " ")
            Next
        Next
        Console.ReadKey()
    End Sub
End Module

ステップ3) コードを実行するには、上部のバーから [開始] ボタンをクリックします。次の出力が表示されます。

VB.Net のネストされた For Each ループの出力

コードのスクリーンショットは次のとおりです。

VB.NetのネストされたFor Eachループのコード例

コードの説明:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャを開始します。
  3. 一連の整数を含む nums という名前の配列を作成します。
  4. 一連の名前を含む names という名前の配列を作成します。
  5. 変数 n を作成し、それを使用して nums という名前の配列に含まれる項目を反復処理します。 これは外側の For Each ループです。
  6. st という名前の変数を作成し、それを使用して、names という名前の配列に含まれる項目を反復処理します。 これは内部の For Each ループです。
  7. 2 つの配列の項目を結合します。nums 配列の各項目は、names 配列の各項目と結合されます。ToString 関数は、nums 配列から読み取った数値を文字列に変換するのに役立ちます。” ” は、各組み合わせの後にスペースを作成するのに役立ちます。結合は & (アンパサンド) を使用して実現されています。
  8. 内側の For Each ループの終わり。
  9. 外側の For Each ループの終わり。
  10. コンソール ウィンドウを一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  11. メインのサブプロシージャの終了。
  12. モジュールの終わり。

VB.Net Exit For および Continue For ステートメント

Exit For ステートメントを使用すると、実行は For Each … Next ループから抜け出し、制御が Next ステートメントの後のステートメントに移されます。

Continue For ステートメントを使用すると、制御はループの次の反復に移されます。 例を使用してこれを説明してみましょう。

ステップ1) 新しいコンソール アプリケーションを作成することから始めます。

ステップ2) 次のコードを使用します。

Module Module1
    Sub Main()
        Dim nums() As Integer =
    {10, 12, 14, 17, 19, 23, 26, 31, 33, 37, 40, 48}
        For Each n As Integer In nums
            If n >= 17 And n <= 25 Then
                Continue For
            End If
            Console.Write(n.ToString & " ")
            If n = 37 Then
                Exit For
            End If
        Next
        Console.ReadKey()
    End Sub
End Module

ステップ3) 上部のバーから [開始] ボタンをクリックしてコードを実行します。次の結果が得られます。

VB.Net Exit For と Continue For の出力

コードのスクリーンショットは次のとおりです。

VB.Net Exit For と Continue For コード例

の説明 Code:

  1. module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャを開始します。
  3. 一連の整数を含む nums という名前の配列を作成します。
  4. n という名前の変数を作成し、それを使用して配列 nums に含まれる要素を反復処理します。
  5. If…Then 条件を使用して変数 n の値を確認します。 値が 17 (17 を含む) ~ 25 (25 を含む) の間の場合、反復は配列内の次の項目にスキップします。
  6. スキップping 上記の値のうち、ここではその処理が行われます。これはスキップを実行するために必要なステートメントです。つまり、スキップされた項目については For Each ループは実行されません。
  7. If 条件を終了します。
  8. 配列から取得した値をコンソールに出力します。ToString 関数は、値を数値から文字列に変換するのに役立ちます。” ” は、出力される各値の後にスペースを作成します。
  9. If…Then 条件を使用して、値が 37 である場合の反復変数 n をチェックします。
  10. 上記の条件が true (値 n=37) の場合、For Each ループを終了します。 これは、配列項目の反復が停止することを意味します。
  11. 上記の If 条件の終了。
  12. For … Each ステートメントの終わり。
  13. コンソール ウィンドウを一時停止し、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  14. メインのサブプロシージャの終了。
  15. モジュールの終わり。

よくあるご質問

For Each はインデックスを持たず、読み取り専用です。For Next は数値カウンターを使用し、Step キーワードをサポートし、位置によって項目を変更できます。

いいえ。For Eachループは現在の項目のみを取得し、その位置は取得しません。インデックスが必要な場合は、カウンター付きのFor Nextループを使用してください。

いいえ。ループ変数は読み取り専用なので、反復処理中に項目を追加、削除、または再割り当てすることはできません。代わりにFor Nextループを使用してください。

IEnumerable 型であればどれでも、 配列リスト、辞書。For Each は内部的に列挙子を使用するため、1 つの構文ですべてを読み込むことができます。

本体は実行されず、Next の後に実行が継続されます。コレクションが Nothing に設定されている場合、For Each は NullReferenceException をスローします。

配列の場合、For Each は列挙子のオーバーヘッドを追加するため、For Next の方がわずかに高速になることがあります。ただし、その差はごくわずかなので、可読性を考慮すると For Each の方が望ましいでしょう。

Yes. GitHubコパイロット 平易な英語のコメントを完全な For Each ブロックに変換します。 Revコレクションとアイテムの種類がデータと一致するように確認してください。

はい。Visual Studio 2026 は Copilot と インテリCode 入力中に、行全体を対象としたコンテキストに応じたFor Each補完機能を提供します。