文档详情

5 存储多个同类型的数据—数组与集合.ppt

发布:2015-09-24约字共73页下载文档
文本预览下载声明
5.5 Array类 Array类位于System命名空间,提供创建、操作、搜索和排序数组的方法,因而在公共语言运行库中用作所有数组的基类。我们之前用到的所有数组都继承自该类。 在声明数组的时候,也可以写成如下形式。 Dim intA As Array = New Integer(9){ } Array类的常用属性与方法 Rank属性返回数组的维数。 Length属性返回数组的元素总数。 GetLength 方法返回指定维度的长度。 GetUpperBound方法返回指定维度的最大索引值。每个维度的最小索引值始终为0。 Sort方法对数组的元素进行排序。 Reverse方法方法用于反转一维数组中的元素顺序。 Copy方法用于在数组之间复制元素,并自动处理强制类型转换。 5.6 使用集合代替数组 5.6.1 Visual Basic中的集合 VB.NET提供Collection类,位于Microsoft.VisualBasic命名空间,可以用于定义和创建自己的集合。下面是一个创建集合的例子。 Dim colFamily As New Collection( ) (1)使用Add方法添加元素。 例如,下面的代码向集合colFamily中添加了3个元素。Add方法的第一个参数是要添加的元素,第二个参数是该元素对应的键值,键值也可以省略。 1 colFamily.Add(John, Father) 2 colFamily.Add(Mary, Mother) 3 colFamily.Add(Joe, Child) 4 colFamily.Add(Elly, SecondChild) (2)使用Remove方法移除元素。 例如,下面的代码移除了集合colFamily中的键值为“SecondChild”的元素。 colFamily.Remove(SecondChild) (3)使用Count属性了解集合包含多少元素。 例如,下面的代码用于查看集合colFamily的元素个数。 1 Dim number As Integer 2 number=colFamily.Count (4)使用Contains方法检查是否存在特定元素。 例如,下面的代码检查集合colFamily中是否含有键值为“Father”的元素,如果是,则Contains方法返回True;否则,返回False。 1 If colFamily.Contains(Father) Then 2 MesseageBox.Show(Yes) 3 Else 4 MesseageBox.Show(No) 5 End If (5)使用Item属性根据指定的索引或键值从集合返回特定元素。Item属性可以根据指定键值返回元素,代码如下。 MessageBox.Show(colFamily.Item(Mother )) 显示Mary 还可以根据索引返回元素,代码如下。 MessageBox.Show(colFamily.Item(1)) 显示John (6)使用Clear方法移除所有元素。 例如,下面的代码移除了集合中的所有元素。 colFamily.Clear( ) (7)使用 For Each...Next 语句循环访问整个集合。 1 For Each s As String In colFamily 2 If s = Elly Then 3 found = True 4 Exit For 5 End If 6 Next s 5.6.2 .Net Framework中的集合 .NET Framework中的集合类是在System.Collections、System.Collections.Generic、System.Collections.Specialized和System.Collections.ObjectModel命名空间中定义的。 两种集合的差异 (1)索引基础。 Visual Basic集合从1开始。 而.NET Framework集合从0开始。 (2)元素类型。 Visual Basic集合支持Object类型的元素。 某些.NET Framework集合也支持Object类型的元素,但其他许多集合是强类型的。 两种集合的差异 (3)键控元素。 通过Visual Basic集合,可以在向集合添加元素时指定一个键。该键是一个唯一的字符串值,可以在以后使用它来访问该特定元素。 .NET Framework集合有所不同,有些集合支持键,但有些集合不支持键。 5.6.3 使用集合代替动态数组 如果需要处理的项数经常更改或者在无法预测所需的最大项数的情况下,可以使用集合来获得更好的性能。 集合不需
显示全部
相似文档