相关C问题:
Static local variables in methods a bad practice?
在VB.NET中,当我想要一个简单的计数器或每次调用方法时递增的东西时,我经常发现自己编写的代码如下:
Private Sub tmrRefresh_Tick(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles tmrRefresh.Tick Static a As Integer = 0 a += 1 '...rest of method depends on a End Sub
这是推荐在VB.NET和OOP中吗?
Are static local variables bad practice?
静态局部变量与非局部私有变量完全不同:它们的范围较小.由于您总是希望保持尽可能小的范围(=更好的封装),因此局部静态可能优于私有变量.
另一方面,本地静态变量可能难以正确初始化.如果需要复杂的初始化(例如,如果稍后需要重新初始化变量),则本地静态变量可能不适合.