2.2 数组
数组(Arrays)用相同名字引用一系列变量,并用数字(索引)来识别它们。在许多场合,使用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理多种情况。数组的元素下标是连续的。由于VB.NET对每一个索引值都分配空间,所以不要不切实际地声明一个太大的数组。
在同一个数组中的所有数值类型相同,例如为Integer或String,并且由它们的索引或下标编号引用,也就是用这些数值在数组中存储的顺序来引用它们。这些数值被称为一个数组的元素,一个数组包含的元素个数称为数组的长度。在VB.NET中,所有的数组从System.Array类继承。Array类是System名字空间的一个成员。Array类为创建、查找、排序以及修改数组提供了方法。Array类的一些常用方法有GetUpperBound,GetLowerBound以及GetLength。
数组使用下标来引用它的某个元素,下标可以是变量、常量和表达式,但是下标结果必须是整数类型的。数组可以是一维或多维的,可以通过用来确定一个数组元素位置的下标个数决定一个数组的维数。例如,一维数组的一个元素只由一个下标确定,二维数组的一个元素由两个下标确定。下面给出一维数组的声明语法,如下:
Dim ArrayName(VarNumber) [As Type]
其中,
· ArrayName指数组名;
· VarNumber指数组可以包含的元素个数;
· Type指元素的数组类型。这个参数是可选的,如果不指定Type,则数组便是Object类型。
声明一个数组之后,就要给它赋值,有两种赋值方法,一是在声明一个一维数组的时候就给它赋初值;二是在声明数组之后,在之后的程序段中给数组赋值。具体见代码2-10。
在VB.NET中,所有的数组都是以“0”为起始长度的,这与VB 6.0完全不一样,在VB 6.0中,如果写下如下语句:
Dim x(10) As Single
可以假定数组x的元素从1到10,但它实际上总是包含第0个元素,换句话来说,x数组实际上是含有11个元素。
在VB.NET中,这样的数组含有10个元素,编号为0到9,这使得在处理数组的长度和编号的情况与C、C++、C#和Java具有一致性,示例如下:
Dim Max As Integer Max=10 Dim x(Max) For j=0 to Max-1 x(j)=j Next j
从上面例子可以看出,数组最后一个元素的编号,总是数组的长度减1。
下面以实例说明数组的使用。