月ノ書

C#の繰り返し処理を完全解説|for・while・foreachの使い方と違い

この記事でわかること
  • C#における繰り返し処理の考え方がわかる
  • for / while / foreach の基本的な使い方を理解できる
  • それぞれのループをどう使い分ければいいかがわかる
  • 無限ループやよくあるミスを避けるポイントが身につく

繰り返し処理とは何か

繰り返し処理とは、同じ処理を条件に応じて何度も実行することです

たとえば

こういった場面で繰り返し処理を使います

C#では主に

の3種類を覚えておくと困りません

for 文の基本

回数が決まっている繰り返しに向いているのが for 文です

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

for 文は、次の3つで構成されています

  1. 初期化
  2. 条件式
  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 は

などの要素を、先頭から順番に取り出して処理します

インデックスを意識しなくていいため、読みやすく安全なのが特徴です

foreach が向いている場面

foreach は

というときに最適です

インデックスが不要な場合は、無理に for を使わず foreach を選ぶと、コードがすっきりします

break と continue

繰り返し処理の流れを制御するために使われるのが break と continue です

for (int i = 0; i < 5; i++)
{
    if (i == 3)
    {
        break;
    }
    Console.WriteLine(i);
}

という違いがあります

条件分岐と組み合わせることで、柔軟な制御が可能になります

どのループを使えばいいか迷ったら

迷ったときの目安は次の通りです

すべてを完璧に使い分ける必要はなく、読みやすさを最優先に考えるのが一番です

まとめ

繰り返し処理を理解すると、配列やList、Mapの処理が一気に楽になります

学習進捗