Compilerfehler CS1023

Eingebettete Anweisung kann keine Deklaration oder beschriftete Anweisung sein.

Eine eingebettete Anweisung, z. B. die Anweisungen, die einer If-Anweisung folgen, können weder Deklarationen noch beschriftete Anweisungen enthalten.

Um diesen Fehler zu beheben, schließen Sie die eingebettete Anweisung in geschweifte Klammern ein, um eine Block-Anweisung zu erstellen. Im Gegensatz zu C/C++ müssen Variablendeklarationen und beschriftete Anweisungen in einer Block-Anweisung enthalten sein, um ihren Bereich ordnungsgemäß zu definieren.

Im folgenden Beispiel wird CS1023 zweimal generiert:

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

Beispiel : Korrigierter Code

Verwenden Sie zum Beheben dieses Fehlers geschweifte Klammern, um eine Block-Anweisung zu erstellen:

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