CS.UNINIT.LOOP_COUNTER
for ステートメントでの初期化されていないループカウンター。
for ステートメントでの初期化式で、ループカウンターが宣言されていません。
脆弱性とリスク
明らかな理由がない限り、for ステートメントの初期化式でカウンター変数を宣言および初期化して、意図しないループカウンターの再利用を防ぐ必要があります。
軽減と防止
明らかな理由がない限り、for ステートメントの初期化式で、カウンター変数は宣言および初期化されます。
例
コピー
namespace kmcustom
{
class C05
{
public void testOK()
{
for (int i = 0; i < 5; i++)
{
//do something
}
}
public void testNG()
{
int i = 0;
for (i = 0; i < 5; i++) //NG
{
//do something
}
}
public void testNG2()
{
int i = 0;
for (; i < 5; i++) //NG
{
//do something
}
}
}
}