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

C#のbreakとcontinueの違いを徹底解説!使い分けのポイントと実例コード

C#のループ処理において、breakcontinueはどちらもループの流れを制御する重要なステートメントですが、その動作には明確な違いがあります。この記事では、それぞれの役割と具体的な使い方をサンプルコード付きで解説します。

breakステートメントとは

breakステートメントは、ループを完全に終了させ、ループの直後に続くステートメントへ処理を移します。ループ内でbreakが実行されると、その時点で残りの反復処理は一切行われず、プログラムの制御はループの外側へ移ります。

continueステートメントとは

continueステートメントもbreakと似た働きをしますが、決定的に異なるのはループを終了させないという点です。continueは、現在の反復(イテレーション)の残りの処理をスキップし、即座に条件判定へ戻って次の反復を実行します。つまり、特定の条件下でのみ処理を飛ばしたい場合に便利です。

continueステートメントの使用例

以下は、whileループ内でcontinueステートメントを使用するサンプルコードです。

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();
        }
    }
}

このプログラムでは、変数aが15になったときだけ出力がスキップされます。それ以外の値(10〜14、16〜19)はすべてコンソールに表示され、ループ自体は最後まで継続します。

breakステートメントの使用例

続いて、breakステートメントを使用した例を見てみましょう。

using System;
namespace Demo {
    class Program {
        static void Main(string[] args) {

            /* ローカル変数の定義 */
            int a = 10;

            /* whileループの実行 */
            while (a < 20) {
                Console.WriteLine("value of a: {0}", a);
                a++;

                if (a > 15) {
                    /* breakステートメントでループを終了 */
                    break;
                }
            }
            Console.ReadLine();
        }
    }
}

この例では、変数aが15を超えた時点でループが強制終了されるため、16以降の値は一切表示されません。これがbreakcontinueの大きな違いです。

まとめ:breakとcontinueの違い一覧

ステートメント 動作 用途
break ループを即座に終了し、ループの次のステートメントへ制御を移す 目的のデータが見つかったときなど、それ以上ループを回す必要がない場合
continue 現在の反復の残りをスキップし、次の反復へ進む 特定の条件のときだけ処理を飛ばして、ループ自体は継続したい場合

breakは「ループから抜け出す」、continueは「今回の処理だけ飛ばす」と覚えておくと理解しやすいでしょう。両者を適切に使い分けることで、より読みやすく効率的なC#のコードを書くことができます。

  1. C#のインターフェイスとクラスの違いとは?わかりやすく解説

    C#におけるインターフェイスは、フィールドやメソッドの実装を持たない「宣言のみ」の型です。つまり、自分で定義したメソッドの中身(処理内容)を実装することはできません。一方、クラスは通常、インターフェイスで宣言されたメソッドを実際に実装する役割を担います。インターフェイスとはインターフェイスは、プロパティ・メソッド・イベントといったメンバーを定義しますが、含まれるのは宣言のみです。各メンバーの具体的な処理をどう実装するかは、そのインターフェイスを実装する派生クラスの責任となります。C#ではクラスの多重継承がサポートされていないため、代わりに複数のインターフェイスを実装することで、異なる機能を柔軟

  2. C#におけるstringとStringの違いは何ですか?

    C#のstringとStringの違いC#プログラミングにおいて、stringとStringはどちらも同じ型を指しますが、その扱いには微妙な違いがあります。Stringは.NET FrameworkのクラスであるSystem.Stringを直接表すものであり、一方、stringはC#言語が用意しているSystem.Stringのエイリアス(別名)です。つまり、両者はコンパイル後にまったく同じものとして扱われます。基本的な使い方の例string str = Welcome!;このように文字列変数を宣言する際は、通常小文字のstringを使用します。使い分けの目安厳密なルールはありませんが、一般的