redo
C#でのジョブを実行する同等の方法はありますか?つまり、ループの先頭に戻り、条件を確認したり、ループカウンターを増やしたりせずに、再実行します。ありがとう。
質問する
1079 次
3 に答える
8
for (int i = 0; i < 100; i++)
{
do
{
DoYourStuff();
} while (ShouldWeDoThatAgain());
}
Do...while
標準while
ループに似ていますが、各反復の前に条件をチェックする代わりに、後にチェックする点が異なります。そうすれば、ループ内のコードは常に少なくとも1回は実行されます。for
またはforeach
ループ内にそれを貼り付けてください。そうすれば、希望する動作が得られるはずです。continue
これは、追加の変数を必要とせず、を使用せず、ループカウンターをまったく混乱させないため、Simonの回答よりも少し単純です。
于 2013-01-27T12:16:33.807 に答える
5
なぜ単純ではないのですか?
goto
本当にみんなのお気に入りというわけではありませんが、この場合はかなり読みやすくなっています...
for(...)
{
redo:
//...
if (...)
goto redo;
}
于 2013-10-16T09:40:42.727 に答える
3
いいえ。最も近いものは次のようなものです。
bool redoCalled = false:
for (int i = 0; i < 10; i++) {
if (redoCalled) {
i--;
redoCalled = false;
}
// other stuff here
if (redoWanted) {
redoCalled = true;
continue;
}
}
于 2013-01-27T11:31:11.000 に答える