C#のプログラミングにおいて、繰り返し処理は非常に重要な要素です。
特に「for文」と「foreach文」は、さまざまな場面で使用されますが、
それぞれの文法や使い方には違いがあります。
また、特定の条件で処理を「抜ける」方法も知っておくと、効率的なコードを書けるようになります。
本記事では、C#における「for」と「foreach」の違いと、
処理を抜けるためのさまざまな方法について詳しく解説します。
これを理解することで、より効率的なコード作成ができるようになるでしょう。
記事のポイント
- C#における「for文」と「foreach文」の違いが理解できる
- 繰り返し処理を途中で抜ける方法を学べる
- 2重ループなどの多重ループ処理での抜け方も解説
\ 2025年注目のフリーランスエージェント3社比較 /
「収入を上げたい会社員」や「フリーランスでも安定して稼ぎたい人」にはフリーランスエージェントがオススメです。
| フリーランス エージェント | 特徴 | オススメ度 | リンク |
|---|---|---|---|
![]() | 登録者No1!!IT・Web業界特化のエージェントサービス リモートでの参画率91%以上 迷ったらここで間違いなし! 市場分析ツールで案件数の推移等が見れる | 詳細ページ | |
![]() | 給与保障制度あり 保障が正社員並みだから、会社員から転向する人は特にオススメ! フリーランスの働き方と正社員並みの保障というイイトコどりができる! リモートワーク案件に強み | 詳細ページ | |
![]() | 契約や手数料が全てオープンで手数料が安くなる仕組みがあるから、手数料が気になる人にオススメ! 健康面や教育面でのサポートも充実 業務系案件に強み | 詳細ページ |
C#でのfor文とforeach文の使い方と抜ける方法

途中で抜ける方法
C#で繰り返し処理を行っている最中に、特定の条件が成立したらその場で処理を抜けたい場合、breakやcontinueといった制御文を使用します。
これにより、指定した条件に達した際にループを終了させたり、次のループの反復に移行したりできます。
break:現在のループを完全に終了します。continue:ループを途中でスキップし、次の反復処理に移行します。
例として、
以下のコードでは、for文で特定の条件を満たした場合にbreakを使ってループを終了しています。
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break; // iが5になったらループを抜ける
}
Console.WriteLine(i);
}このコードでは、iが5になった時点でループが終了します。
以下のコードは、continueを使って偶数のみをスキップする例です。
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
continue; // 偶数の場合、以降の処理をスキップ
}
Console.WriteLine(i);
}このコードでは、奇数のみが表示され、偶数はスキップされます。
for文とforeach文の違い
C#における「for文」と「foreach文」はどちらも繰り返し処理に使用されますが、
それぞれに特徴があります。
for文:
繰り返し回数を自分で管理できる。
インデックスを使ってアクセスするため、特定の範囲で処理を行いたい場合に有効です。foreach文:
コレクションや配列全体を効率的にループ処理するのに適しています。
個々の要素を取り出す際に、インデックスを使う必要がなく、よりシンプルです。
例えば、for文を使ったコードは以下のようになります。
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}一方、foreach文を使うと、コレクションの要素を簡単に処理できます。
int[] numbers = { 1, 2, 3, 4, 5 };
foreach (int number in numbers)
{
Console.WriteLine(number);
}両者の違いを理解することで、より適切な場面で選択できるようになります。
for文とforeach文の多重ループでの処理抜ける方法

foreach文で2重ループを抜ける方法
C#で2重ループ(多重ループ)を使用する場合、
内側のループだけでなく外側のループも終了させる必要が生じることがあります。breakだけでは内側のループしか抜けられないため、外側のループも終了させたい場合は工夫が必要です。
例として、以下は内側のループを終了させる方法です。
int[,] matrix = { { 1, 2 }, { 3, 4 } };
foreach (int value in matrix)
{
if (value == 3)
{
break; // 内側のループを抜ける
}
Console.WriteLine(value);
}一方、外側のループも終了させたい場合は、bool型のフラグを使って全体のループを制御する方法が有効です。
bool exitLoop = false;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (i == 1 && j == 1)
{
exitLoop = true;
break; // 内側のループを抜ける
}
Console.WriteLine($"{i}, {j}");
}
if (exitLoop)
{
break; // 外側のループも抜ける
}
}まとめ:C#のfor文とforeach文の処理を抜ける方法について
C#において、for文とforeach文の適切な使用は効率的なコード作成の鍵となります。
これらのループ処理の途中で抜ける方法や、多重ループの制御を理解することで、
より複雑なロジックをシンプルに実装することができます。
特に、breakやcontinueを使った適切なループ制御は、
コードの可読性とパフォーマンスを向上させるための重要な技術です。
ぜひ、この記事で学んだ内容を実際のプログラミングに取り入れてみてください。
他にもC#の様々なテクニックの紹介やエンジニアに役立つ情報を発信していますので興味のある方は以下のリンクからどうぞ!
C#やエンジニアに役立つ情報はこちら
安定して収入を上げたいエンジニアはこちら





