영어로 읽기

다음을 통해 공유


컴파일러 오류 CS0136

'var'이라는 지역 변수는 'var'에 다른 의미를 주기 때문에 이 범위에서 선언할 수 없습니다. 이 변수는 이미 'parent or current/child' 범위에서 다른 의미를 나타내도록 사용되었습니다.

변수 선언이 그렇지 않을 경우 범위에 있을 다른 선언을 숨깁니다. CS0136을 생성한 줄에서 선언된 변수의 이름을 바꿉니다.

예시

다음 샘플에서는 CS0136을 생성합니다.

// CS0136.cs  
namespace MyNamespace  
{  
   public class MyClass  
   {  
      public static void Main()  
      {  
         int i = 0;  
         {  
            char i = 'a';   // CS0136, hides int i  
         }  
         i++;  
      }  
   }  
}  

C# 언어 사양에서:

지역 변수 선언 공간과 중첩된 지역 변수 선언 공간에 동일한 이름의 요소가 포함되어 있으면 오류가 발생합니다. 따라서 중첩된 선언 공간 내에서는 바깥쪽 선언 공간의 지역 변수 또는 상수와 동일한 이름을 가진 지역 변수 또는 상수를 선언할 수 없습니다. 두 선언 공간 모두 다른 선언 공간을 포함하지 않는 한 두 선언 공간에 동일한 이름의 요소가 포함될 수 있습니다.