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
             }
 
         }
 
 
     }
 }