C#基本

[C#] for文の書き方(繰り返し)

2021年4月16日

for文の書き方です。
for文は処理を繰り返し(ループ処理)行う構文です。

構文

for構文は以下のとおりです。

構文

for (<変数> = <初期値>; <繰り返し条件>; <カウントアップ数>)
{
  //処理
}

for文サンプル

例1)処理を3回繰り返す

for (int i = 0; i<3; i++)
{
  Console.Write("処理:" + i + "回目");
}

結果

処理:0回目
処理:1回目
処理:2回目

例2)処理を3回繰り返す(2ずつカウントアップ)

for (int i = 0; i<6; i=i+2)
{
  Console.Write("処理:" + i + "回目");
}

結果

処理:0回目
処理:2回目
処理:4回目

厳密にはiが6未満の場合に処理を行うというコードです。

例3)処理を3回繰り返す(1ずつカウントダウン)

カウントアップ数をマイナスにすると、カウンタ変数を減算させることができます。

for (int i = 3; i>0; i--)
{
  Console.Write("処理:" + i + "回目");
}

結果

処理:3回目
処理:2回目
処理:1回目

ループ途中で止めたい場合

ループの途中で処理を止めたい場合は、breakcontinueを使用します。
違いは以下のとおりです。

  • break:全てのループ処理を完全に中断する
  • continue:現在のループ処理をスキップして次のループ処理へ映る

例4)処理の3回目で中断する(break)

for (int i = 0; i<5; i++)
{
  if(i == 3) { break; }
  Console.Write("処理:" + i + "回目");
}

結果

処理:0回目
処理:1回目
処理:2回目

for文は5回ループするようになっていますが
3行目でbreakが指定されているため、3回分しかログが出力されていません。

例5)処理の3回目をスキップする(continue)

for (int i = 0; i<5; i++)
{
  if(i == 3) { continue; }
  Console.Write("処理:" + i + "回目");
}

結果

処理:0回目
処理:1回目
処理:2回目
処理:4回目

for文は5回ループするようになっていますが
3行目でcontinueが指定されているため、3回目のログが出力されていません。

備考

  • ループする回数が決まっている場合はfor文をご使用ください。
  • ループする回数が決まっておらず条件によりループする回数を変えたい場合はwhile文をご使用ください。
    [C#] while文の書き方(繰り返し)
  • 二重のfor文を一気に抜けたい場合は以下記事をご覧ください。
    [C#] 二重ループを抜ける

関連記事

-C#基本
-