条件分岐のいろいろ
フォークスルー
例えばswitch文はC, C++で使われているがC#では禁止されているらしい。
case内でのbreakのし忘れが頻繁におこったためだとか
goto
goto文はifやswitchと違い、無条件に処理の流れを変える命令。そのため、あまり推奨されない。以下の2つの場合にのみ使うことがある
switch文でのgoto文の使用
switch (hoge) { case 1: goto case 2; case 2: // hogeが1か2だった場合の処理 break; default: break; }
for文をぬけ出すための処理
以下のように、for文が2つ以上囲んである場合、その中から抜け出すにはgotを使う。なぜならbreakだとfor(j)からのみぬけ出すことになるから。
for (int i = 0;; i++) { for (int j = 0;; j++) { if (/*for文全部から抜け出したい*/) { goto LOOPEND; } } } LOOPEND: ;