Visual Basic.NET+SQL Server全程指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例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.枚举类型的使用

在枚举类型的声明实例中用到了其使用,使用方法为:枚举名.成员名。如果要使用不同类中的枚举,使用方法为:类名.枚举名.成员名。

下面以实例说明枚举类型的定义和使用。