数组

在编写程序时,经常需要保存一组相似或者相关联的数据,数组 (Arrays) 就可以提供这个功能。
数组是拥有同一种数据类型的一组数据。

比如说,你同学的年龄是一个 Integer 数组,你同学的地址就是一个 String 数组。

定义数组

在前面章节,我们学过如何定义一个变量,将一个值付给该变量,比如:

 Dim strName As String

该变量只能有一个值,如何定义一个数组变量,让它拥有一组数据呢,我们可以改写成:

Dim strNames(3) As String

这句代码表示,定义一个数组变量,名为 strNames ,其长度为 3。长度表示数组拥有的数据个数,3 表示该数组有4 个数据。每个数据,我们称作数组的元素 (elements)。

注意:数组的长度,从 0 开始计,而不是从 1 开始。

填充数组

在定义了一个数组变量之后,我们就可以填充 (populate) 这个数组,比如:

strNames (0) = "How I met your mother"
strNames (1) = "Heroes"
strNames (2) = "2.5 Men"
strNames (3) = "Boston Legal"

你也可以用简便的方法同时定义和填充数据。示例如下:

Dim strNames() As String ("How I met your mother","Heroes", _
                          "2.5 Men","Boston Legal")

这种简便方法,只适合数组长度较小时,在填充很大的数组时,这种方法就不适用了。

获取数组的值

要获取某个数组元素,比如要显示上面数组的第2个元素,我们可以写成:

MessageBox.Show(strNames(1))

要获取数组的每个值,我们经常会用到 For Each...Next 循环。比如将数组 strNames 显示在一个名为 lstData 的 ListBox 里,可以写成:

For Each singleName As String In StrNames
   lstData.Items.Add(singleName)
Next

将数组作为参数传递

前面章节,我们学过如何在过程 (procedures)中传递参数,比如:

Public sub AddItemsToList (byval strData As String)
...
End Sub

传递数组变量时,我们要在变量名之后加一对空的小括号,比如:

Public sub AddItemsToList (byval strData() As String)
...
End Sub

数组的排序和反向

使用 Array.Sort 可以对数组进行排序,比如:

Array.Sort(strNames)

使用 Array.Reverse 可以将数组的顺序反向,比如:

Array.Reverse(strNames)

如果你想让数组降序排列,可以先用 Array.Sort 将数组正序排列,然后使用 Array.Reverse 将顺序反向,即成为降序。


编者或作者: 我有闲    收录日期: 2008-10-25
参考或来源:

返回上级目录: 数据结构 下一页: 常量


© 2008 woyouxian.net 版权所有 Contact Us