VB.NET变量范围规则解析

开发 后端
VB.NET变量范围的定义与其他语言相比有很多不同之处。而且使用的方法更加简便灵活。下面我们就会针对此做一个详细的介绍。

VB.NET编程语言会给我们带来什么不一样的感受呢?我们可以通过一个变量范围的变化来体会这一变化之处。程序中定义VB.NET变量范围与在VB 6中定义是不同的。在VB 6中,一个程序任意位置定义的变量都可以在整个程序中使用。#t#

而在VB.NET中,那些在子程序中定义的变量就只能在该子程序中使用(子程序就是包含在If...End If,For...Next,Select Case...End Select,Do...Loop等这些语句内部的代码。)。

 

这个差异使你可以写出更加模式化更加灵活的代码,同时也可以防止变量被本应在它们适用范围以外的程序调用。

 

但这个改变有一个缺陷,那就是每个VB.NET变量范围在整个程序中都会保持它的值不变。也就是说当一个变量已经超出了它的适用范围时,它的值仍然保存在内存里。而你如果在该程序中再次进入同一个子程序,那么这个变量先前保存在内存里的值将有可能导致潜在的错误。

 

举个例子。请看下面的代码:

 

 

  1. Dim x As Integer = 1 
  2. Dim holdY As Integer  
  3. Do While (x < 5)  
  4. If (x Mod 2 = 0) Then  
  5. Dim y As Integer  
  6. y += 1  
  7. holdY = y 
  8. End If  
  9. x += 1  
  10. Loop  
  11. MsgBox(x)  
  12. MsgBox(holdY) 

 

 

上面这段代码运行以后,x的值是5,holdY的值是3。而y的值的应用范围局限在整个Do...Loop过程中。

 

在定义VB.NET变量范围时对变量进行初始化是一个直接的解决办法,它可以避免任何潜在的问题,并且可以确保每次使用该变量时它的值都是已知数。

 

 

  1. If (x Mod 2 = 0) Then  
  2. Dim y As Integer = 0 
  3. y += 1 

 

 

另一个好处就是,在定义中对变量初始化可以使代码更具可读性。

责任编辑:曹凯 来源: 中国IT实验室
相关推荐

2010-01-21 16:37:56

VB.NET变量声明

2009-10-29 10:21:46

VB.NET变量适用范

2010-01-07 16:16:03

VB.NET变量作用域

2010-01-21 16:45:00

VB.NET继承规则

2010-01-18 14:54:00

VB.NET共享成员变

2010-01-15 15:03:23

VB.NET对象变量声

2010-01-18 11:20:13

VB.NET默认属性

2010-01-15 16:46:05

VB.NET集合存储

2009-11-02 14:48:45

VB.NET HOOK

2009-10-09 15:59:41

VB.NET对象

2010-01-08 16:19:00

VB.NET类型单位命

2009-10-15 13:06:12

VB.NET Shar

2010-01-08 18:16:52

VB.NET变量

2009-10-12 14:13:00

VB.NET使用局部变

2011-05-20 16:34:35

VB.NET

2009-10-28 09:47:01

VB.NET局部静态变

2010-01-18 18:06:07

VB.NET多线程

2010-01-21 17:48:25

VB.NET Sing

2009-10-27 11:16:20

VB.NET应用框架

2009-10-14 14:19:00

VB.NET创建表示层
点赞
收藏

51CTO技术栈公众号