> 백엔드 개발 > C++ > 하나의 C# 코드 샘플은 컴파일되고 다른 하나는 변수 범위로 인해 실패하는 이유는 무엇입니까?

하나의 C# 코드 샘플은 컴파일되고 다른 하나는 변수 범위로 인해 실패하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-12 14:24:44
원래의
331명이 탐색했습니다.

Why Does One C# Code Sample Compile While the Other Fails Due to Variable Scope?

C# 변수 범위에 대한 자세한 설명: 한 코드 예제는 컴파일하고 통과하지만 다른 코드 예제는 변수 범위로 인해 실패하는 이유는 무엇입니까?

다음은 두 코드 예제의 컴파일 결과를 다르게 만드는 C# 변수 범위 지정 규칙을 설명합니다.

코드 예시 1: 컴파일 실패

첫 번째 코드 예제에서는 for 루프 내에서 변수 i(int i=10; // Point1)의 첫 번째 선언으로 인해 컴파일 오류가 발생합니다. 이는 루프가 포함된 메서드에서 변수 i가 선언되었기 때문입니다. C# 사양에서는 동일한 이름을 가진 여러 요소가 지역 변수 선언 공간 내에 존재할 수 없도록 규정하고 있습니다.

또한 for 루프 외부에서 objX에 대한 두 번째 참조(var objX = new OtherClassOfMine(); // Point2)도 컴파일 오류를 발생시킵니다. 이는 변수 objX가 for 루프 내부에 선언되었고 C# 사양에 따라 중첩 블록에 사용되는 objX와 같은 간단한 이름은 블록 내의 동일한 엔터티를 참조해야 하기 때문입니다.

코드 예시 2: 컴파일 성공

두 번째 코드 예제에서 두 개의 for 루프는 해당 블록 내에서 변수 i 및 objX를 선언합니다. 각 블록은 자체 변수 선언 세트를 사용하므로 변수 이름이나 범위가 겹치지 않으며 코드가 성공적으로 컴파일됩니다.

요약:

코드 예제 1은 변수 선언 공간 규칙을 위반하고 동일한 범위에서 동일한 이름을 가진 여러 변수를 선언합니다. 코드 예제 2에서는 변수를 별도의 블록에 선언하여 이 문제를 방지합니다. 이러한 범위 지정 규칙을 이해하는 것은 정확하고 유지 관리 가능한 C# 코드를 작성하는 데 중요합니다.

위 내용은 하나의 C# 코드 샘플은 컴파일되고 다른 하나는 변수 범위로 인해 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿