Fla*_*ash 7 vb.net oop design-patterns static-variables
相关的C++问题:方法中的静态局部变量是一种不好的做法?
在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
Run Code Online (Sandbox Code Playgroud)
这是推荐在VB.NET和OOP中吗?
静态局部变量是不是很糟糕?
不.静态局部变量在很大程度上与非局部私有变量有所不同:它们的范围较小.由于您总是希望保持尽可能小的范围(=更好的封装),因此局部静态可能优于私有变量.
另一方面,本地静态变量可能难以正确初始化.如果需要复杂的初始化(例如,如果稍后需要重新初始化变量),则本地静态变量可能不适合.