2012-04-20 24 views
0

在內部範圍聲明變量是我到處看到的東西!但我有一個問題:假設我們有一個for循環,並且我們想在該循環體內使用一個變量。那麼如果我在循環內部的範圍內聲明並初始化變量,是不是會有更多的開銷,因爲每次循環運行時都應該再次聲明該變量? 我正在使用C#,所以如果有關於此的編譯器優化,甚至更好。設計指南行:在哪裏定義變量

+0

http://stackoverflow.com/questions/1985760/how-does-the-c-sharp-compiler-optimize-a-code-fragment – xandercoded 2012-04-20 17:56:01

+0

可能重複[之間聲明變量之間的差異或在循環?](http://stackoverflow.com/questions/407255/difference-between-declaring-variables-before-or-in-loop) – 2012-04-20 18:03:42

+0

我不同意這些問題的答案!更多後續:http://stackoverflow.com/questions/10251432/declare-the-varible-closer-to-where-it-is-defined-c-sharp-il-code-is-not-the-sa – Bohn 2012-04-20 18:21:53

回答

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 2012-04-20 18:20:47