다음을 통해 공유


컴파일러 오류 CS1023

포함된 구문은 선언 또는 레이블이 지정된 구문일 수 없습니다.

if 문 뒤의 문과 같은 포함된 문은 선언이나 레이블이 지정된 문을 모두 포함할 수 없습니다.

이 오류를 해결하려면 포함된 문을 중괄호로 래핑하여 블록 문을 만듭니다. C#에서는 C/C++와 달리 변수 선언 및 레이블이 지정된 문이 블록 문 내에 포함되어야 범위를 올바르게 정의할 수 있습니다.

다음 샘플에서는 CS1023을 두 번 생성합니다.

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

예제 - 수정된 코드

이 오류를 해결하려면 중괄호를 사용하여 블록 문을 만듭니다.

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