2012-04-20 2 views
0

내부 범위의 변수 선언은 어디에서나 볼 수 있습니다! 하지만 질문이 있습니다. for 루프가 있고 그 루프 본문 안에 변수를 사용한다고 가정 해 봅시다. 루프 내부의 범위를 선언하고 초기화하면 루프가 실행될 때마다 변수가 다시 선언되어야하기 때문에 더 많은 오버 헤드가 발생하지 않습니까? 나는 이것에 대한 컴파일러 최적화가 있다면 C#을 사용하고있다.디자인 가이드 라인 : 변수 정의 위치

+0

http://stackoverflow.com/questions/1985760/how-does-the-c-sharp-compiler-optimize-a-code-fragment – xandercoded

+0

[ 또는 루프에?] (http://stackoverflow.com/questions/407255/difference-between-declaring-variables-before-or-in-loop) –

+0

나는 그 질문에 대한 답변에 동의하지 않는다! 추가 조사 : http://stackoverflow.com/questions/10251432/declare-the-varible-closer-to-where-it-is-defined-c-sharp-il-code-is-not-the-sa – Bohn

답변

1

글쎄 컴파일러에 따라 다릅니다. C#에서 컴파일러는 그것을 최적화 할 것이고 어떤 큰 차이도 볼 수 없을 것입니다. 루프 내에서 변수를 선언하는 좋은 점은 루프 밖으로 나가면 (범위를 벗어남) 가비지 수집에 사용할 수 있다는 것입니다. 이 스레드도 확인하십시오. Difference between declaring variables before or in loop?

+0

more 추가 답변 : http://stackoverflow.com/questions/10251432/declare-the-varible-closer-to-where-it-is-defined-c-sharp-il-code-is-not-the-sa – Bohn

관련 문제