Mat*_*ols 5 .net c# performance scope
我正在审查一些C#代码,并且遇到了一些在函数级别作用域的变量,我将在代码块(在这种情况下是一个循环)中使用它们.对我而言,尽可能更清晰,更容易推理,这就是理由,更喜欢块级范围.但我想知道,这种或那种方式对性能有何影响?
根本没有性能差异.
变量范围与变量寿命不同.无论是在函数作用域中还是在函数的代码块中声明,都在函数的堆栈帧中创建变量.变量在整个函数执行期间存在,只有编译器根据其范围限制对变量的访问.
(注意,如果变量实际上是闭包的一部分而不是常规局部变量,则适用不同的规则.)