Errore del compilatore CS1023

L'istruzione incorporata non può essere una dichiarazione o un'istruzione etichettata

Un'istruzione incorporata, ad esempio le istruzioni che seguono un'istruzione if , può contenere né dichiarazioni né istruzioni etichettate.

Per risolvere questo errore, racchiudere l'istruzione incorporata tra parentesi graffe per creare un blocco di istruzioni. In C#, a differenza di C/C++, le dichiarazioni di variabili e le istruzioni etichettate devono essere contenute all'interno di un'istruzione block per definirne correttamente l'ambito.

L'esempio seguente genera l'errore CS1023 due volte:

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

Esempio - Codice corretto

Per correggere questo errore, usare le parentesi graffe per creare un'istruzione 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  
      }
   }  
}