[C#] for文でのcontinueの使い方
C#のfor文でcontinueを使用することで、現在の反復処理をスキップし、次の反復処理に進むことができます。
continueはループ内で特定の条件が満たされたときに、残りのコードを実行せずに次の反復に移行したい場合に便利です。
例えば、forループ内で特定の条件をチェックし、その条件が真であればcontinueを使って次の反復に進むことができます。
これにより、不要な処理を避け、コードの効率を向上させることができます。
for文とcontinue文の組み合わせ
C#のプログラミングにおいて、for文とcontinue文を組み合わせることで、ループ処理をより柔軟に制御することができます。
continue文は、ループ内で特定の条件が満たされた場合に、その後の処理をスキップして次のループの反復に進むために使用されます。
以下では、具体的な例を通じてその使い方を解説します。
continue文を使ったfor文の例
以下のコードは、1から10までの数字をループし、偶数をスキップして奇数のみを表示する例です。
using System;
class Program
{
    static void Main()
    {
        // 1から10までの数字をループ
        for (int i = 1; i <= 10; i++)
        {
            // 偶数の場合は次のループに進む
            if (i % 2 == 0)
            {
                continue;
            }
            // 奇数を表示
            Console.WriteLine(i);
        }
    }
}1
3
5
7
9この例では、continue文を使って偶数の処理をスキップし、奇数のみを表示しています。
continue文で特定の条件をスキップする方法
continue文を使用することで、特定の条件を満たす場合にその後の処理をスキップすることができます。
以下の例では、リスト内の負の数をスキップして正の数のみを合計します。
using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, -2, 3, -4, 5 };
        int sum = 0;
        // リスト内の数字をループ
        for (int i = 0; i < numbers.Count; i++)
        {
            // 負の数の場合は次のループに進む
            if (numbers[i] < 0)
            {
                continue;
            }
            // 正の数を合計
            sum += numbers[i];
        }
        // 合計を表示
        Console.WriteLine("正の数の合計: " + sum);
    }
}正の数の合計: 9この例では、負の数をスキップし、正の数のみを合計しています。
continue文を使った効率的なループ処理
continue文を使用することで、不要な処理をスキップし、ループの効率を向上させることができます。
以下の例では、文字列のリストから特定の文字を含む文字列をスキップして表示します。
using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        List<string> words = new List<string> { "apple", "banana", "cherry", "date" };
        char skipChar = 'a';
        // リスト内の文字列をループ
        for (int i = 0; i < words.Count; i++)
        {
            // 特定の文字を含む場合は次のループに進む
            if (words[i].Contains(skipChar))
            {
                continue;
            }
            // 文字列を表示
            Console.WriteLine(words[i]);
        }
    }
}cherryこの例では、文字'a'を含む文字列をスキップし、それ以外の文字列を表示しています。
continue文を使うことで、不要な処理を避け、効率的なループを実現しています。
continue文の応用例
continue文は、単純なループ処理だけでなく、さまざまな場面で応用することができます。
ここでは、ネストされたループや配列・リストの処理、エラーハンドリングにおけるcontinue文の活用方法を紹介します。
ネストされたループでのcontinueの使い方
ネストされたループにおいて、continue文を使用することで、特定の条件を満たす場合に内側のループをスキップすることができます。
以下の例では、2次元配列の特定の値をスキップして表示します。
using System;
class Program
{
    static void Main()
    {
        int[,] matrix = {
            { 1, 2, 3 },
            { 4, 5, 6 },
            { 7, 8, 9 }
        };
        // 2次元配列をループ
        for (int i = 0; i < matrix.GetLength(0); i++)
        {
            for (int j = 0; j < matrix.GetLength(1); j++)
            {
                // 値が5の場合は次のループに進む
                if (matrix[i, j] == 5)
                {
                    continue;
                }
                // 値を表示
                Console.Write(matrix[i, j] + " ");
            }
            Console.WriteLine();
        }
    }
}1 2 3 
4 6 
7 8 9この例では、値が5の要素をスキップし、それ以外の要素を表示しています。
配列やリストの処理でのcontinueの活用
配列やリストの処理において、continue文を使用することで、特定の条件を満たす要素をスキップすることができます。
以下の例では、リスト内の特定の文字列をスキップして表示します。
using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        List<string> fruits = new List<string> { "apple", "banana", "cherry", "date" };
        string skipWord = "banana";
        // リスト内の文字列をループ
        for (int i = 0; i < fruits.Count; i++)
        {
            // 特定の文字列の場合は次のループに進む
            if (fruits[i] == skipWord)
            {
                continue;
            }
            // 文字列を表示
            Console.WriteLine(fruits[i]);
        }
    }
}apple
cherry
dateこの例では、文字列"banana"をスキップし、それ以外の文字列を表示しています。
continueを使ったエラーハンドリング
continue文は、エラーハンドリングの場面でも役立ちます。
特定の条件でエラーが発生した場合に、その処理をスキップして次の反復に進むことができます。
以下の例では、数値のリストからゼロ除算をスキップして計算を続けます。
using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 10, 0, 5, 0, 2 };
        int divisor = 2;
        // リスト内の数字をループ
        for (int i = 0; i < numbers.Count; i++)
        {
            // ゼロの場合は次のループに進む
            if (numbers[i] == 0)
            {
                Console.WriteLine("ゼロ除算をスキップ");
                continue;
            }
            // 割り算の結果を表示
            Console.WriteLine(numbers[i] / divisor);
        }
    }
}5
ゼロ除算をスキップ
2
ゼロ除算をスキップ
1この例では、ゼロ除算をスキップし、他の数値に対して割り算を行っています。
continue文を使うことで、エラーを回避しつつ処理を続行することができます。
まとめ
この記事では、C#におけるfor文とcontinue文の組み合わせについて詳しく解説し、具体的なコード例を通じてその使い方や応用例を紹介しました。
continue文を活用することで、ループ内の特定の条件をスキップし、効率的な処理を実現する方法を学びました。
これを機に、実際のプログラムでcontinue文を活用し、コードの効率化や可読性の向上に挑戦してみてください。
 
![[C#] foreachで配列の要素をループする方法](https://af-e.net/wp-content/uploads/2024/10/thumbnail-49826.png)
![[C#] foreachで最初だけ飛ばす・特定の処理を行う方法](https://af-e.net/wp-content/uploads/2024/10/thumbnail-49824.png)
![[C#] foreachで最後の要素のときだけ異なる処理をする方法](https://af-e.net/wp-content/uploads/2024/10/thumbnail-49823.png)
![[C#] Foreachメソッドでラムダ式を記述する方法を解説](https://af-e.net/wp-content/uploads/2024/10/thumbnail-49822.png)
![[C#] foreach文とfor文の違いについて解説](https://af-e.net/wp-content/uploads/2024/10/thumbnail-49820.png)
![[C#] foreach文の2重ループを抜ける方法をわかりやすく解説](https://af-e.net/wp-content/uploads/2024/10/thumbnail-49819.png)
![[C#] foreachで多次元配列の要素を全て取得・列挙する方法](https://af-e.net/wp-content/uploads/2024/10/thumbnail-49825.png)
![[C#] LINQのForEachメソッドの使い方 – LINQ内での繰り返し処理](https://af-e.net/wp-content/uploads/2024/10/thumbnail-49821.png)
![[C#] whileループで無限ループを作成する方法](https://af-e.net/wp-content/uploads/2024/09/thumbnail-36341.png)
![[C#] whileループの基本と活用法](https://af-e.net/wp-content/uploads/2024/09/thumbnail-36340.png)
![[C#] for文からの抜け方とその活用法](https://af-e.net/wp-content/uploads/2024/09/thumbnail-36339.png)
![[C#] for文で配列を効率的に操作する方法](https://af-e.net/wp-content/uploads/2024/09/thumbnail-36338.png)