C#の繰り返し処理を完全解説|for・while・foreachの使い方と違い
この記事でわかること
- C#における繰り返し処理の考え方がわかる
- for / while / foreach の基本的な使い方を理解できる
- それぞれのループをどう使い分ければいいかがわかる
- 無限ループやよくあるミスを避けるポイントが身につく
繰り返し処理とは何か
繰り返し処理とは、同じ処理を条件に応じて何度も実行することです
たとえば
- 1から10まで順番に表示したい
- 配列の中身をすべて処理したい
- 条件を満たす間だけ処理を続けたい
こういった場面で繰り返し処理を使います
C#では主に
- for
- while
- foreach
の3種類を覚えておくと困りません
for 文の基本
回数が決まっている繰り返しに向いているのが for 文です
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}for 文は、次の3つで構成されています
- 初期化
- 条件式
- 更新処理
この3つが毎回順番に評価されることで、繰り返しが制御されています
for 文が向いている場面
for 文は
- 決まった回数だけ処理したい
- インデックスを使って制御したい
といった場面でよく使われます
for (int i = 1; i <= 10; i++)
{
Console.WriteLine(i);
}回数がはっきりしている場合は、for を選ぶと意図が伝わりやすくなります
while 文の基本
while 文は、条件が true の間だけ処理を繰り返すループです
int count = 0;
while (count < 3)
{
Console.WriteLine(count);
count++;
}条件が先に評価されるため、最初から条件が false の場合は一度も実行されません
while 文を使うときの注意点
while 文で一番怖いのは無限ループです
while (true)
{
// 永遠に終わらない
}条件がいつ false になるのかを、必ず意識して書くことが大切です
カウンタの更新忘れは、初心者がとてもやりがちなミスです
foreach 文の基本
コレクションを扱うときにとても便利なのが foreach 文です
int[] numbers = { 1, 2, 3 };
foreach (int number in numbers)
{
Console.WriteLine(number);
}foreach は
- 配列
- List
- Dictionary
などの要素を、先頭から順番に取り出して処理します
インデックスを意識しなくていいため、読みやすく安全なのが特徴です
foreach が向いている場面
foreach は
- 要素をすべて処理したい
- 順番に取り出すだけで十分
というときに最適です
インデックスが不要な場合は、無理に for を使わず foreach を選ぶと、コードがすっきりします
break と continue
繰り返し処理の流れを制御するために使われるのが break と continue です
for (int i = 0; i < 5; i++)
{
if (i == 3)
{
break;
}
Console.WriteLine(i);
}- break はループを終了する
- continue は次の繰り返しへ進む
という違いがあります
条件分岐と組み合わせることで、柔軟な制御が可能になります
どのループを使えばいいか迷ったら
迷ったときの目安は次の通りです
- 回数が決まっている → for
- 条件次第で続けたい → while
- コレクションを順番に処理 → foreach
すべてを完璧に使い分ける必要はなく、読みやすさを最優先に考えるのが一番です
まとめ
- 繰り返し処理は同じ処理を何度も実行するための仕組み
- for は回数が決まっている場合に向いている
- while は条件による繰り返しに向いている
- foreach はコレクション処理をシンプルに書ける
- break と continue を使うことで柔軟な制御ができる
繰り返し処理を理解すると、配列やList、Mapの処理が一気に楽になります