三、常量

在程序运行过程中,其值不能改变的量称为常量。在Visual Basic.NET中有三种常量:直接常量、用户声明符号常量和系统提供的常量。

1.直接常量

在Visual Basic中,直接常量可分为:数值常量、字符串常量、逻辑常量和日期常量。其表示方法“数据类型”一节中已介绍,例如,123S是Short类型的直接常量,12345是Integer类型的直接常量,"A"是Char类型的直接常量,"0120"是String类型的直接常量。

除了十进制常量以外,还有八进制、十六进制常量。八进制常量的表示方法是在数值前面加&O(注意:是字母O,不是数字0),例如,&O56。而十六进制常量的表示方法是在数值前面加&H,例如,&H56、&HAB12。

2.用户声明符号常量

在程序中经常遇到一些需要反复使用的常量,在VB中将这种常量定义成符号常量,在程序中用符号常量代替这个数据。这样,可以使程序中相同的数据保持一致,并且可以增强程序的可阅读性和可维护性。

用户声明符号常量的格式如下:

    Const符号常量名 [As类型] = 常量表达式

其中,类型见表2-1中的数据类型,也可以在常量名后加类型符表示。“As类型”为可选项,如果省略类型,则数据类型由常量表达式来决定。默认情况下,整数为Integer类型常量,浮点数为Double类型常量,关键字True和False为Boolean类型常量。“常量表达式”可以由数值常量、文字常量、算术运算符(指数运算符除外)、逻辑运算符组成,不能为变量、字符串连接符、函数等。

例如,以下都是正确的符号常量声明语句:

    Const  PI As Single = 3.14
    Const  N As Integer = 100
    Const  ST As String = "sum"
    Const  M = N * 2

由于N已被定义为常量,N * 2是常量表达式,Const M = N * 2是正确的,M的值为200。而对于Const s0 As Single = Sin(0)语句,由于Sin(0)不是常量表达式,该语句不正确。

注意:默认情况下Option Strict被设置为Off,允许省略数据类型。当执行语句Option Strict On后,限制数据类型转换,在声明符号常量时必须指明数据类型。

3.系统提供的常量

系统提供的常量可以分为内部常量和枚举常量两类。

内部常数存储那些在整个应用程序的执行过程中保持不变的值。它们是有意义的名称,用以代替数值或字符串,而使代码更具可读性。内部常量一般以小写字母“vb”作为前缀、后跟有意义的字母。例如,vbCrLf是一个内部常量,其值为Chr(13)+Chr(10),表示回车并换行组合符。运行以下语句:

Labell.Text = Labell.Text& vbCrLf &TextBox2.Text

结果是:标签Label1上原来显示的内容后面另起一行,显示文本框TextBox2的内容。

又如,以下语句中vbExclamation是一个内部常量,其值为48,表示显示警告信息图标:

MsgBox("数据不正确,请重新输入",vbExclamation,"提示")

枚举提供了处理相关联的常数集的方便途径,是一个值集的符号名称。例如,在属性窗口中,许多属性值是用枚举来表示的,它直观地表示了这些离散的、有限的相关常数集。在输入程序代码时,也会自动列出相应的枚举常量值供选择。