Error del compilador CS1023

La instrucción insertada no puede ser una declaración ni una instrucción etiquetada

Una instrucción insertada, como las instrucciones que siguen a una instrucción if , no pueden contener declaraciones ni instrucciones etiquetadas.

Para resolver este error, encapsula la instrucción insertada entre llaves para crear una instrucción block. En C#, a diferencia de C/C++, las declaraciones de variables y las instrucciones etiquetadas deben estar contenidas dentro de una instrucción de bloque para definir correctamente su ámbito.

El ejemplo siguiente genera la advertencia CS1023 dos veces:

// CS1023.cs  
public class a  
{  
   public static void Main()  
   {  
      if (1)  
         int i;      // CS1023, declaration is not valid here  

      if (1)  
         xx : i++;   // CS1023, labeled statement is not valid here  
   }  
}  

Ejemplo: código corregido

Para corregir este error, use llaves para crear una instrucción block:

// CS1023 - Fixed.cs  
public class a  
{  
   public static void Main()  
   {  
      if (1)  
      {
         int i;      // Fixed: declaration is now in a block statement  
      }

      int j = 0;
      if (1)  
      {
         xx : j++;   // Fixed: labeled statement is now in a block statement  
      }
   }  
}