(2)保留动态数组的内容 每次执行ReDm语句时,当前存储在数组中的值都会 全部丢失。Ⅴ isual basic重新将数组元素的值置为 Empty(对 ariant数组)、置为0(对 Numeric数组) 置为零长度字符串(对 String数组)或者置为 Nothing (对于对象型数组)。 若希望改变数组大小又不丢失数组中原来的已有数据 使用具有 Preserve关键字的ReDm语句就可做到这点 ReDim Preserve DynArray(UBound (DynArray)+1) 在用 Preserve关键字时,只能改变多维数组中最后 维的上界;如果改变了其它维或最后一维的下界,那 么运行时就会出错 例如:
⑵ 保留动态数组的内容 • 每次执行ReDim语句时,当前存储在数组中的值都会 全部丢失。Visual Basic重新将数组元素的值置为 Empty(对Variant数组)、置为0(对Numeric数组)、 置为零长度字符串(对String数组)或者置为Nothing (对于对象型数组)。 • 若希望改变数组大小又不丢失数组中原来的已有数据。 使用具有Preserve关键字的ReDim语句就可做到这点。 • ReDim Preserve DynArray(UBound(DynArray)+1) • 在用Preserve关键字时,只能改变多维数组中最后一 维的上界;如果改变了其它维或最后一维的下界,那 么运行时就会出错。 例如:
3获得数组上、下界 求得数组的上界与下界的两个函数 UBound (Arrayname[, Dimension]) LBound (Arrayname[, Dimension] 其中, Arrayname表示数组的名字,如果 Arrayname所代 表的是多维数组, Dimens ion参数可用来指定“哪一维的 上(下)界”,例如: Dim a(5)as string Dim nl As Integer, n2 As Integer n1=LBound (a) n1=0 n2=UBound (a) 2=5 dim b(1 to 5,0 to 3) as integer print Lbound (b, 1)'1 print Ubound (b, 2)'3
3. 获得数组上、下界 •求得数组的上界与下界的两个函数 UBound(Arrayname[,Dimension]) LBound(Arrayname[,Dimension]) •其中,Arrayname表示数组的名字,如果Arrayname所代 表的是多维数组,Dimension参数可用来指定“哪一维的 上(下)界” ,例如: Dim a(5) As string Dim n1 As Integer,n2 As Integer n1=LBound(a) ' n1=0 n2=UBound(a) ' n2=5 dim b(1 to 5,0 to 3) as integer print Lbound(b,1) ' 1 print Ubound(b,2) ' 3
422数组的输入、输出和复制 1数组的输入 (1)对少数个别元素赋值,可采用赋值语句。 如:DimA(10) AsInteger A(1)=3:A(4)=7 (2)如果要给数组中的所有元素都赋值,可用循环实现。 例如: Dim S(1 To 2, 1 To 3) For i= 1 To 2 For j=1 To 3 S(i,j)= InputBox("请输入1个数 Next j Next i 数组元素可当作普通变量使用
4.2.2 数组的输入、输出和复制 1.数组的输入 ⑴ 对少数个别元素赋值,可采用赋值语句。 如:Dim A(10) AsInteger A(1)=3 : A(4))=7 ⑵ 如果要给数组中的所有元素都赋值,可用循环实现。 例如: Dim S(1 To 2, 1 To 3) For i = 1 To 2 For j = 1 To 3 S(i, j) = InputBox("请输入1个数") Next j Next i 数组元素可当作普通变量使用