가능한 중복은 :
confused with the scope in c#
C# Variable ScopingC# : for 루프의 초기화 부분에서 선언 된 변수의 범위 정의?
나는를위한 루프 (등)의 초기화 부분에서 선언 된 변수의 범위 뒤에 설계 고려 사항에 대해 궁금합니다. 이러한 변수는 범위를 벗어나거나 범위를 벗어난 것처럼 보이지 않거나 내가 누락 된 변수입니까? 왜 이것이 언제 필요합니까? 즉 :
for (int i = 0; i < 10; i++)
{
}
i = 12; //CS0103: The name 'i' does not exist in the current context
int i = 13; //CS0136: A local variable named 'i' cannot be declared in this scope
//because it would give a different meaning to 'i', which is already
//used in a 'child' scope to denote something else
크리스에게 감사드립니다. 위의 예는 분명히 이름 충돌을 발생시킵니다. 그것이 컴파일 된 방법을 보는다면 * 이해할 수 있습니다. +1하고 받아들입니다. –