C# 변수 범위의 모호성
C#의 변수 범위는 특정 언어 규칙으로 인해 혼란스러울 수 있습니다. 문제를 이해하기 위해 두 가지 코드 예제를 살펴보겠습니다.
코드 예 1(컴파일 오류):
<code class="language-c#">public void MyMethod(){ int i = 10; for(int x = 10; x < 20; x++){ int i = x; // 编译错误:在此作用域内重复声明变量 'i' object objX = new object(); // 编译错误:在此作用域内重复声明变量 'objX' object objX = new object(); } }</code>
오류 이유:
코드 예제 2(성공적으로 컴파일됨):
<code class="language-c#">public void MyMethod(){ for(int x = 10; x < 20; x++){ int i = x; object objX = new object(); } for(int x = 10; x < 20; x++){ int i = x; object objX = new object(); } }</code>
성공적인 편집 이유:
코드 예제 2에서 루프의 '암시적 중괄호' 규칙은 각 루프 반복에 대해 별도의 범위를 생성합니다. 이는 다음을 의미합니다.
이 두 코드 예제는 C#에서 변수 범위의 미묘한 영향과 올바르게 이해하지 못할 경우 발생할 수 있는 혼란을 보여줍니다.
위 내용은 변수 범위가 C#의 컴파일에 어떤 영향을 미치나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!