在编写程序时,经常需要保存一组相似或者相关联的数据,数组 (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 woyouxian.net 版权所有 Contact Us