if문의 블록에서 정의한 변수는 사용할 수 있는 범위가 정해져있는데,
중괄호 { } 안에서 선언된 변수는 해당 중괄호 안에서만 사용할 수 있다.
만약 아래와 같이 쓰면 "The name'y' dose not exist the current context" 라는 오류가 발생한다.
void Start()
{
int x = 1;
if (x == 1)
{
int y = 2;
Debug.Log(x);
Debug.Log(y);
}
Debug.Log(y);
}
아래와 같이 오류가 난다.
여기서 오류가 난 이유는 y변수가 if 안에서 선언되었기 때문이다.
x 변수는 void Start { } 안에 선언되었으므로 그 안에서 모두 적용되지만
y 변수는 void Start { } 안에 있는 if { } 안에서 선언되었으므로 그 안에서만 적용된다.
즉 Debug.Log(y); 는 if { } 영역 밖인 void Start { } 안에 써있어서 오류가 난 것이다.
728x90
'유니티 C# > C#' 카테고리의 다른 글
C#기초 - 배열 사용법 (0) | 2023.05.02 |
---|---|
C#기초 - 반복문 for문 사용법 (0) | 2023.04.28 |
C#기초 - else if 조건식 사용방법 (0) | 2023.04.27 |
C#기초 - if문 조건식 사용방법 (0) | 2023.04.11 |
C#기초 - 종류별 관계연산자 (==, !=, >= 등) (0) | 2023.04.09 |
댓글