Compiler Error CS1023

Pernyataan yang disematkan tidak boleh berupa pernyataan deklarasi atau berlabel

Pernyataan yang disematkan, seperti pernyataan yang mengikuti pernyataan jika , tidak boleh berisi pernyataan atau pernyataan berlabel.

Untuk mengatasi kesalahan ini, bungkus pernyataan yang disematkan dalam kurung kurawal untuk membuat pernyataan blok. Dalam C#, tidak seperti C/C++, deklarasi variabel dan pernyataan berlabel harus dimuat dalam pernyataan blok untuk menentukan cakupannya dengan benar.

Sampel berikut menghasilkan CS1023 dua kali:

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

Contoh - Kode yang dikoreksi

Untuk memperbaiki kesalahan ini, gunakan kurung kurawal untuk membuat pernyataan blok:

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