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回目
ループ途中で止めたい場合
ループの途中で処理を止めたい場合は、breakやcontinueを使用します。
違いは以下のとおりです。
- 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#] 二重ループを抜ける