C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のwhileループでcontinueステートメントを使う方法を解説

C#におけるcontinueステートメントは、ループ本体の残りの処理をスキップし、直ちに条件判定へ制御を移すための命令です。その後、条件が真であれば次の反復(イテレーション)が実行されます。

continuebreakステートメントに似た働きをしますが、決定的な違いがあります。breakがループ自体を強制終了させるのに対し、continueはループを終了せず、間にあるコードを飛ばして次の反復へ進むよう制御します。

whileループの場合、continueステートメントが実行されると、プログラムの制御はループ先頭の条件判定部分へ移ります。このため、continueより後ろに記述された処理はその回の反復では実行されません。

whileループでcontinueを使うサンプルコード

以下は、whileループ内でcontinueステートメントを使用した完全なコード例です。変数aが15になったときだけ出力をスキップします。

using System;
namespace Demo {
    class Program {
        static void Main(string[] args) {
            /* ローカル変数の定義 */
            int a = 10;
            /* ループの実行 */
            while (a < 20) {
                if (a == 15) {
                    /* この反復をスキップする */
                    a = a + 1;
                    continue;
                }
                Console.WriteLine("value of a: {0}", a);
                a++;
            }
            Console.ReadLine();
        }
    }
}

実行結果

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19

ポイント解説

実行結果を見ると、aが15のときだけ出力されていないことが分かります。これは、a == 15の条件が成立した時点でcontinueが実行され、Console.WriteLineの呼び出しがスキップされたためです。

注意点として、whileループ内でcontinueを使う場合は、continueの前に必ずカウンター変数を更新してください。更新を忘れると変数aの値が変わらず無限ループに陥る恐れがあります。上記の例でも、continue;の直前にa = a + 1;を実行しているのはこのためです。

  1. Pythonのループ処理でcontinueステートメントを使う方法

    Pythonにおけるループ制御ステートメントの一つであるcontinueは、ループブロック内の現在の反復(イテレーション)で残りの処理をスキップし、次の反復処理へ移行するために使用します。continueステートメントは、通常、ループ内の条件分岐(if文)の中に記述されます。条件が満たされた時点でcontinueが実行されると、それ以降に記述された処理は実行されず、ループの先頭に戻って次の繰り返しが開始されます。サンプルコードx=0 while x<10: x=x+1 if x==5: continue print (x=,x)この例では、変数xが5になったときに

  2. Pythonのwhileループとは?仕組みと基本構文をわかりやすく解説

    while文は、Pythonをはじめとする多くのプログラミング言語で広く使われているループ処理の構文です。条件式が真(True)である限り、同じブロック内の処理を繰り返し実行し続けます。本記事では、whileループの基本的な仕組みと実際の使い方を解説します。while文の基本構文while文の一般的な書き方は以下の通りです。while 条件式: 処理1 処理2 ...コロン「:」の後にインデント(字下げ)して記述されたブロック内の文は、条件式がTrueである限り何度でも繰り返し実行されます。Pythonではインデントによってコードのブロックを表すため、インデントの深さを