在一次全局或多次本地声明变量?

时间:2015-01-11 00:19:32

标签: c# class variables methods

我目前正在考虑什么是更好的。 我经常调用的函数只使用这些函数正在使用的变量,我想是否应该在类中将它们声明为全局,因此我总是可以在函数中重用它们。或者在每次执行函数时在方法中声明它们。 如何以专业方式完成?

2 个答案:

答案 0 :(得分:4)

您应该在需要使用它的最小范围内声明变量。这降低了在错误的地方使用错误变量的风险。使代码健壮和可维护应该始终是第一个问题。如果代码没有正常工作,那么代码的速度并不重要。

无论如何,声明局部变量非常便宜。调用该方法时,在堆栈上创建堆栈帧,并通过使堆栈帧更大来创建局部变量的空间。由于设置堆栈帧的大小只是一个在堆栈指针上进行减法的指令,无论如何,它实际上都没有时间为局部变量分配空间。

答案 1 :(得分:0)

答案是,这取决于。如果你在一个地方设置这些变量,并且只在相关函数中读取它们的值,那么将它们设为全局是有意义的,但如果你打算在这些函数中修改它们,那么如果你使它们全局化,你的函数就不会产生预期的结果。 全局变量的行为类似于单例,因此您需要对全局变量保持谨慎。