在编程中我们往往需要用到变量,变量按作用域来进行划分:局部变量、全局变量、共享变量。
1.局部变量,是最为常见,也是我们经常用到的一种变量。它是指在过程(事件过程或通用过程)内定义的变量。通常用Dim和Local来进行定义。
例如:
Dim intCount as interger
intCount =intCount+5
局部变量的作用域只在这个过程中是有效的,出了这个过程之外,任何类和方法都无法访问它。所以,它们在其他过程中是互不干扰的。
这次在做机房收费系统的时候,在处理如何存储登录用户问题上,自己就犯了一个很低级的错误。
在做个人版的时候,当时都是为了以实现功能为目标。所以在需要用到登录用户信息的时候,都是通过查询数据库的用户ID和登录界面的Text进行比较来获取。这次,自己的伙伴说可以通过定义一个全局变量实体来进行存储:
Public Class PublicUserEnity
''' <summary>
''' 用户名
''' </summary>
''' <remarks>朱火云 2013-11-21 10:02:13</remarks>
Public Shared UserId As Integer
Public Property ProUserId() As Integer
Get
Return UserId
End Get
Set(ByVal Value As Integer)
UserId = Value
End Set
End Property
''' <summary>
''' 用户真实姓名
''' </summary>
''' <remarks>朱火云 2013-11-21 10:02:13</remarks>
Public Shared UserRealName As String
Public Property ProRealUserName() As String
Get
Return UserRealName
End Get
Set(ByVal Value As String)
UserRealName = Value
End Set
End Property
''' <summary>
''' 用户密码
''' </summary>
''' <remarks>朱火云 2013-11-21 10:02:13</remarks>
Public Shared UserPwd As String
Public Property ProUserPwd() As String
Get
Return UserPwd
End Get
Set(ByVal Value As String)
UserPwd = Value
End Set
End Property
End Class
这样,系统登录的时候,就可以将登录的用户名、密码和用户真实姓名存储在这个实体中。这个实体将在我们应用程序的任何地方都是有效的,换句话说,我们存储这个用户的用户信息,只要系统不退出,都是有效的,当我们在注册、退卡、充值以及修改密码的时候,都可以直接获取这些信息,而不需要再到数据库中去查询。
全局变量用Public Shared 来进行定义,与系统共存亡。相对于每次都需要去数据库查询用户名来说,它是比较节省系统资源的。