vb中static用法超详细阐述.docx

上传人:小飞机 文档编号:3062894 上传时间:2023-03-10 格式:DOCX 页数:2 大小:37.39KB
返回 下载 相关 举报
vb中static用法超详细阐述.docx_第1页
第1页 / 共2页
vb中static用法超详细阐述.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《vb中static用法超详细阐述.docx》由会员分享,可在线阅读,更多相关《vb中static用法超详细阐述.docx(2页珍藏版)》请在三一办公上搜索。

1、vb中static用法超详细阐述vb中static用法超详细阐述 本文的主要目的在于澄清vb中静态变量static的使用方法以及这样使用的意义。实方法可能大家都知道,但差距在于你没有多问一个为什么:这个static存在的意义在哪? 定义变量的方法有dim、static、private、public、redim。变量的定义位置也分为模块级、过程级、窗体通用级 参考MSDN:static在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期间都能保留使用static语句声明的变量的值。下面看一个例子: Dim number3 As Integer Private Sub ceshi Sta

2、tic number1 As Integer Dim number2 As Integer number1 = 0 number1 = number1 + 1 number2 = number2 + 1 Print number1 Print number2 End Sub Private Sub Command1_Click Call ceshi End Sub Private Sub Command2_Click number3 = number3 + 1 Print number3 End Sub Private Sub Command3_Click number3 = number3

3、+ 1 Print number3 End Sub Private Sub Command4_Click Print number3 + 1 End Sub 在Command1的Click事件中,调用了ceshi函数,在ceshi这个过程中,定义了一个静态变量number1,一个普通变量number2。接下来让他们分别自增1,然后在窗体中输出两个变量。下面连点两次Command1,输出结果如图: 发现number1两次的值不一样,而number2两次的值相同。这就是因为static发挥了作用。每点击一次按钮就调用一次ceshi过程,用static声明的变量一直存在于程序中,直到程序结束; di

4、m声明的普通变量在每次调用过程结束时,它所占用的内存就被释放,下次调用时重新初始化,而static在整个程序中只被初始化一次。所以,每次调用ceshi时,number1的值都是使用的上次保留的值,而number2使用的都是被重新初始化成0。因此,number1的值会永远累加下去,而number2的值永远是1。 继续探究,为什么非要在过程级别中使用static呢?如果我们在窗体的通用中声明一个static变量是不允许的。还是运行上边的代码,点击Command2、Command3。运行结果: 这两个按钮代码一样,都是让number3的值自增1,然后输出。number3是一个通用级变量,没有在过程中

5、。我们发现无论怎么点2、3这两个按钮,输出的结果都加1,也就是number3的值加1。这说明一个通用级变量相当于一个静态变量,无论哪个过程访问,这个变量只初始化一次,使用的值是上一次的值,不断累加。所以我们在通用中声明一个static变量是没有任何意义的。 附:该代码还有一个Command4,点击后输出结果总为1,可能有些人会困惑:number3不是全局变量吗?怎么又不能累加了?因为number3+1并没有改变number3的值,按钮2、3的才是改变了number3的值,所以每次输出结果是不会变的。 同理,在模块中声明的变量都是静态变量,所以在模块中声明static也是没有意义的。 个人想法,如有错误、误解之处请谅解

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号