次の for ループ構文の問題点は、crv
変数が配列であり、2 のインクリメントが必要なことです。
for(int i<0; i<crv.Count;i+2)
{
//Code Here
}
私のコンパイラSemicolon expected
は、あまり有用なフィードバックではないことしか言いません...
i
ゼロと比較するのではなく、ゼロに初期化することから始める必要があります。さらに、最後のステートメントは実際には変更i
されません。値を返すだけでi+2
、その値で何もしません。実際i
にその結果に設定する必要があります。
for(int i = 0; i < crv.Count;i+=2)
{
//Code Here
}
最大のエラーは、i+2
が に再割り当てされていないことi
です。
for(int i = 0; i<crv.Count;i = i+2)
{
//Code Here
}
インクリメントを捨てており、値をi
変更することはありません。
次に、初期化i
ではなく、より小さいかどうかを確認し0
ます。
注意: 最初のセクションは代入です。int i<0;
int i=0
int i = -10
また、インクリメント セクションで、更新された値をi
for(int i =0; i<crv.Count; i+=2)
{
//Code Here
}
または本体で同じことを行います(オプションについて言及するだけで、特定のシナリオで役立ちます)
for(int i =0; i<crv.Count;)
{
//Code Here
i+=2;
}
これらの回答のほとんどは、コードを修正する方法を教えてくれますが、理解することが重要だと思う理由を教えてくれません。
ループは、for
セミコロンで区切られた 3 つの部分で構成されます。
for(part1;part2;part3)
part1
ループの実行が最初に開始されたときに、一度だけ実行されます。(これは通常、カウンターに初期値を割り当てる場所です)
part2
が次に実行され、その値が true か false かがチェックされます。
true の場合、ループの本体が実行されます
次にpart3
実行されます(実行しようとしているように)、これは通常、インクリメントする場所です
その後part2
、再度チェックされ、true の場合はプロセスを再度実行し、false の場合はループが存在します。
for ループの最初の部分は、i の初期値を決定します。あなたの例では、「<」がありますが、これは確かな値ではありません。代わりに i=0 を試してください。また、最後の部分は、反復ごとに 2 を追加する代わりに、2 に加えて i として読み取られます。代わりに i+=2 を試してください。