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

Я не согласен с ответами на эти вопросы! more followup: 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

еще followup: http://stackoverflow.com/questions/10251432/declare-the-varible-closer-to-where-it-is-defined-c-sharp-il-code-is-not-the-sa – Bohn

Смежные вопросы