VB.NET中变量作用域的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
在一个过程或函数外声明的变量是全局变量,对本程序内部所有的过程和函数都起作用;而在一个过程或函数内部声明的变量是局部变量,只对本过程或函数起作用。
下面通过一个例子说明VB.NET变量作用域中全局变量和局部变量的区别。
例2.14(02-14.aspx)全局变量和局部变量的使用。
< script language="vb"
runat="server">Dim strGlobal as String="global"
Sub SayHello
Dim strTemp as String="hello!"
Response.Write (strTemp &
"< br>")Response.Write (strGlobal &
"< br>")if strGlobal< >"" then
Dim strTemp1 as String=
"hello cindy!"Response.Write (strTemp1
& "< br>")end if
'Response.Write (strTemp1
& "< br>")End Sub
< /script>
< %
SayHello
%>
上面的例子中,有下面几点需要说明:
(1) 第2行声明的变量strGlobal定义在所有的函数或者过程之外,所以是一个全局变量。由于在定义这个变量的时候就为这个变量赋值为“global”,所以,在后面的程序中,***次使用这个变量时这个变量的值就是“global”。
(2) 第3行~第12行定义了一个子过程SayHello。在这个过程中,首先在第4行定义了一个变量strTemp,由于这个变量是定义在子过程中的,所以这个变量是一个局部变量。在第5行显示这个变量的值的时候,会显示一个“hello!”字符串。
(3) 第6行要显示strGlobal的值,由于这是一个全局变量,所以会显示第1行赋值的“global”。
(4) 第7行~第10行定义了一个If/Endif代码块,在这个代码块中,定义了一个块级局部变量strTemp1(第8行)。由于这个变量是定义在代码块中的,所以只在这个代码块中起作用。所以在第9行要显示它的值的时候,会显示“hello cindy!”。而如果取消第11行的注释,系统将会通告strTemp1变量没有定义。
通过上面的例子可以看出,在编写程序的时候,要时刻注意VB.NET变量作用域的问题。因为在不同模块中修改全局变量会导致模块之间相互影响,违反了进行模块化程序设计的初衷。所以要设计好的程序,就应该尽量减少全局变量的使用。
看完上述内容,你们掌握VB.NET中变量作用域的作用是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!