C#のbreakとcontinueの違いを徹底解説!使い分けのポイントと実例コード
C#のループ処理において、breakとcontinueはどちらもループの流れを制御する重要なステートメントですが、その動作には明確な違いがあります。この記事では、それぞれの役割と具体的な使い方をサンプルコード付きで解説します。
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以降の値は一切表示されません。これがbreakとcontinueの大きな違いです。
まとめ:breakとcontinueの違い一覧
| ステートメント | 動作 | 用途 |
|---|---|---|
break |
ループを即座に終了し、ループの次のステートメントへ制御を移す | 目的のデータが見つかったときなど、それ以上ループを回す必要がない場合 |
continue |
現在の反復の残りをスキップし、次の反復へ進む | 特定の条件のときだけ処理を飛ばして、ループ自体は継続したい場合 |
breakは「ループから抜け出す」、continueは「今回の処理だけ飛ばす」と覚えておくと理解しやすいでしょう。両者を適切に使い分けることで、より読みやすく効率的なC#のコードを書くことができます。
-
C#のインターフェイスとクラスの違いとは?わかりやすく解説
C#におけるインターフェイスは、フィールドやメソッドの実装を持たない「宣言のみ」の型です。つまり、自分で定義したメソッドの中身(処理内容)を実装することはできません。一方、クラスは通常、インターフェイスで宣言されたメソッドを実際に実装する役割を担います。インターフェイスとはインターフェイスは、プロパティ・メソッド・イベントといったメンバーを定義しますが、含まれるのは宣言のみです。各メンバーの具体的な処理をどう実装するかは、そのインターフェイスを実装する派生クラスの責任となります。C#ではクラスの多重継承がサポートされていないため、代わりに複数のインターフェイスを実装することで、異なる機能を柔軟
-
C#におけるstringとStringの違いは何ですか?
C#のstringとStringの違いC#プログラミングにおいて、stringとStringはどちらも同じ型を指しますが、その扱いには微妙な違いがあります。Stringは.NET FrameworkのクラスであるSystem.Stringを直接表すものであり、一方、stringはC#言語が用意しているSystem.Stringのエイリアス(別名)です。つまり、両者はコンパイル後にまったく同じものとして扱われます。基本的な使い方の例string str = Welcome!;このように文字列変数を宣言する際は、通常小文字のstringを使用します。使い分けの目安厳密なルールはありませんが、一般的