VB.NET变量作用域实际作用解析
创始人
2024-06-19 20:31:41
0

对一个程序开发人员来说,要想熟练的掌握的一门计算机语言,就需要先从基础开始学起。那么就先来看看VB.NET中的VB.NET变量作用域的相关概念。在进行变量声明时,变量声明的位置决定了VB.NET变量作用域。#t#

在一个过程或函数外声明的变量是全局变量,对本程序内部所有的过程和函数都起作用;而在一个过程或函数内部声明的变量是局部变量,只对本过程或函数起作用。

下面通过一个例子说明VB.NET变量作用域中全局变量和局部变量的区别。

例2.14(02-14.aspx)全局变量和局部变量的使用。

 

  1. < script language="vb" 
    runat="server"> 
  2. Dim strGlobal as String="global" 
  3. Sub SayHello  
  4. Dim strTemp as String="hello!" 
  5. Response.Write (strTemp & 
    "< br>")  
  6. Response.Write (strGlobal & 
    "< br>")  
  7. if strGlobal< >"" then  
  8. Dim strTemp1 as String=
    "hello cindy!" 
  9. Response.Write (strTemp1 
    & "< br>")  
  10. end if  
  11. 'Response.Write (strTemp1 
    & "< br>")  
  12. End Sub  
  13. < /script> 
  14. < %  
  15. SayHello  
  16. %> 

 

上面的例子中,有下面几点需要说明:

(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变量作用域的问题。因为在不同模块中修改全局变量会导致模块之间相互影响,违反了进行模块化程序设计的初衷。所以要设计好的程序,就应该尽量减少全局变量的使用。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...