从VB中编程的第一天起,这就是我脑子里一直在徘徊的问题之一.我对此有自己的个人想法,但我想知道关于静态变量的使用的一般共识是什么.
静态变量:
Public Function Whatever() as Boolean
Static Flag as Boolean
If not Flag then
' do something
Flag = True
end if
Return Something
End sub
Run Code Online (Sandbox Code Playgroud)
VS:
私人变量:
Private Flag as Boolean
Public Function Whatever() as Boolean
If not Flag then
' do something
Flag = True
end if
Return Something
End sub
Run Code Online (Sandbox Code Playgroud)
除非有人知道,否则上述功能相同,除了"私人"标志暴露在课堂其他地方使用的事实.
Statics开始出现问题..比如...
它们存放在哪里..什么时候它们真正被创造和处置等
显然,编译器会以某种方式将它们添加到数据堆(我知道,这个词的错误用法)...但是在开销,垃圾收集等方面是否会受到惩罚.
一般来说,我像瘟疫一样避免它们,因为它们提出的问题多于答案.
是否真的有任何SOLID理由使用静力学?
PS:希望这通过SO问题测试......
注意我不是在询问有关如何创建静态的详细信息.我更想问的是,如果ANYTHING使用静态值得做什么.
附录....
我做了一点研究,发现这很有启发性.
我看到很多人发帖说他们得到了这样的错误,但似乎不知道如何找出错误的来源.
因此,我想知道人们是否知道如何访问和使用堆栈跟踪.
那么你如何访问它,它对你意味着什么?