次のように 3 つの要素をループしたいとします。
for(int i=0; i<3; i++)
{
doSomething();
}
もちろん、これは次のように言っているのと同じです: doSomething(); doSomething(); doSomething();
.
さて、これをコーディングしているかのように、各反復の間に何かをしたいとしましょう:
doSomething(); doBetween(); doSomething(); doBetween(); doSomething();
doSomething()
が 3 回呼び出されているのに、 2 回呼び出されていることに注意してくださいdoBetween()
。
現在、ループでこれを行う方法を知っている唯一の方法は次のとおりです。
for(int i=0; i<3; i++)
{
doSomething();
if(i<2)
doBetween();
}
私には、その条件をループ内で実行するのは効率が悪いように思えます。また、プログラミングの意図を理解するために、2 回見なければならなくなります。さらに、「for」ヘッダーの「3」を別のものに変更すると、特にロジックが大きくなるにつれて、条件の変更を簡単に忘れてしまう可能性があります。それだけでなく、最後の反復を実行しているかどうかを簡単に検出する方法がないため、このトリックは foreach ループでは機能しません。
パフォーマンス、可読性、保守性、または foreach ループを向上させる方法で、このようなことを行うためのヒントはありますか?