C# continueとbreakの違い

continueとbreakの違いとは

continueとbreakの違いとは、次のループを実行するかしないかです。
continueはcontinueよりあとの処理を実行しないで、次のループを実行します。
breakはbreakよりあとの処理と次のループを実行しないで終了します。

continueの処理

using static System.Console;
class TestClass { static void Main() { for (int i = 1; i < 4; i++) { WriteLine(i + "回目のcontinueのまえの処理"); if (i > 1) { continue; } WriteLine(i + "回目のcontinueのあとの処理"); } } }
1回目のcontinueのまえの処理
1回目のcontinueのあとの処理
2回目のcontinueのまえの処理
                                              
3回目のcontinueのまえの処理
                                              

1. 3回ループするfor文です。
2. 2、3回目のループでcontinue;が実行され、これよりあとの処理のWriteLine(i + “回目のcontinueのあとの処理”);が実行されません。
3. つまり、
– 2回目のWriteLine(i + “回目のcontinueのあとの処理”);
– 3回目のWriteLine(i + “回目のcontinueのあとの処理”);
は実行されません。
4. そのため表示結果には、
    「 2回目のcontinueのあとの処理 」
    「 3回目のcontinueのあとの処理 」
が表示されません。
5. continue;が実行されても、先頭に戻ってループが再開するので、WriteLine(i + “回目のcontinueのまえの処理”);は必ず実行されます。
6. つまり、
– 1回目のWriteLine(i + “回目のcontinueのまえの処理”);
– 2回目のWriteLine(i + “回目のcontinueのまえの処理”);
– 3回目のWriteLine(i + “回目のcontinueのまえの処理”);
は実行されます。

breakの処理

using static System.Console;
class TestClass { static void Main() { for (int i = 1; i < 4; i++) { WriteLine(i + "回目のbreakのまえの処理"); if (i > 1) { break; } WriteLine(i + "回目のbreakのあとの処理"); } } }
1回目のbreakのまえの処理
1回目のbreakのあとの処理
2回目のbreakのまえの処理

1. 3回ループするfor文です。
2. 2回目のループでbreak;が実行されます。
3. break;が実行されるとfor文が終了します。
4. つまり、実行されたのは、
– 1回目のWriteLine(i + “回目のbreakのまえの処理”);
– 1回目のWriteLine(i + “回目のbreakのあとの処理”);
– 2回目のWriteLine(i + “回目のbreakのまえの処理”);
までです。
5. それよりあとの
– 2回目のWriteLine(i + “回目のbreakのあとの処理”);
– 3回目のWriteLine(i + “回目のbreakのまえの処理”);
– 3回目のWriteLine(i + “回目のbreakのあとの処理”);
は実行されません。

continueとbreakの違いまとめ

continueとbreakは、これよりあとの処理をブロックの終わりまで実行しません。
しかし、次のループをcontinueは実行しますが、breakは実行しない違いがあります。