实例2-3 常量的使用
该实例实现步骤如下。
1 创建模块
在本章的项目chapter2中,右键单击解决方案资源管理器中项目名下对应节文件夹“数据类型”,在弹出菜单中选择“添加”→“模块”菜单命令,在弹出的对话框中输入窗体名Module1,单击“添加”按钮,完成模块的创建。
2 添加代码
在窗体Module1的代码编辑器窗口中添加代码2-3中的代码。
代码2-3 Module1.vb
01. Module Module1 02. Sub main() 03. Const billsalary As Integer = 1000 '声明一个整数常量 04. Const mysalary As Double = 100 '声明一个双精度常量
05. Const strmsg As String = "Try Again Please" '声明一个字符串量
06. If billsalary > mysalary Then '判断两个常量的大小
07. MsgBox(strmsg) '显示相应的信息
08. End If
09. End Sub
10. End Module
代码2-3的执行步骤如下:
① 第3、4、5行代码分别定义一个常量。
② 第6行代码判断常量billsalary和mysalary的大小,若前者大于后者则显示常量strmsg的内容。
3 运行结果
按F5键,运行程序,弹出如图2-8所示对话框。
图2-8 实例2-3运行结果
2.1.4 枚举类型
所谓枚举类型,就是指用Enum关键字定义的一组变量,并将变量的值一一列出来。变量的值可以包括正数和负数,只限于列举出来的值的范围内,且在运行时不能改变。
如下语句定义一个枚举类型Days,其中包含一个星期的所有天数变量,每个变量代表不同的天数,可以按照不同的数字给予赋值。
Enum Days Sunday=7 Monday=1 Tuesday=2 Wednesday=3 Thursday=4 Friday=5 Saturday=6 End Enum
也可以不给Days的成员赋值,但是默认的值是从0开始自动递增赋值的。代码如下:
Enum Days Sunday Monday Tuesday Wednesday Thursday Friday Saturday End Enum
在上面这个Days枚举类型中,Days.Sunday=0,Days.Monday=1,Days.Tuesday=2,以此类推,直到一个给定的值,又开始从0开始赋值,如下面的语句。
Enum Days Sunday Monday
Tuesday Wednesday Thursday Friday=0 Saturday End Enum
在以上语句中,类型声明中指定了Days.Friday=0,则下面的Days.Saturday=1,以此类推。
1.枚举类型的声明
(1)模块级枚举类型的声明
声明枚举类型,使用关键字Enum...End Enum,枚举的声明放在类里面,但在具体事件方法之外,可以被类的各种事件和方法使用。事件和方法体内不能声明枚举类型,也不能在With块中使用Enum类型。如代码2-4所示的语句,创建一个模块级的枚举,可以在同一个类的不同过程和事件中使用,不同类中的过程和事件无法使用该枚举。
代码2-4模块级枚举类型
Public Class Form1 Public Enum Days Sunday = 0 Monday Tuesday Wednesday Thursday Friday Saturday Invalid = -1 End Enum Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.show("Sunday" & "=" & Days.Sunday) End Sub End Class
(2)全局枚举类型的声明
Enum...End Enum声明放在类外面,命名空间里面,这样只要是一个命名空间的所有的类和类内成员都可以使用。Enum...End Enum声明还可以放在模块Module中。如代码2-5所示语句创建一个全局类型的枚举,窗体类中的过程和事件可以使用该枚举。
代码2-5全局枚举类型
Public Enum Days Sunday = 7 Monday = 1 Tuesday = 2 Wednesday = 3 Thursday = 4 Friday = 5
Saturday = 6 End Enum Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.show("Sunday" & "=" & Days.Sunday) End Sub End Class
以下代码中Enum...End Enum的声明作用范围和代码2-5中的枚举是一样的,都是全局范围。
Module Module1 Public Enum Days Sunday = 7 Monday = 1 Tuesday = 2 Wednesday = 3 Thursday = 4 Friday = 5 Saturday = 6 End Enum End Module
2.枚举类型的使用
在枚举类型的声明实例中用到了其使用,使用方法为:枚举名.成员名。如果要使用不同类中的枚举,使用方法为:类名.枚举名.成员名。
下面以实例说明枚举类型的定义和使用。