vb.net声明变长数组 vba 声明数组变量

VB怎么声明数组?dim|private|public,数组名(维数及大小) as 类型 。
dim|private|public,定义数组作用域 。
维数及大小 , 即数组是几维数组以及每个维的大小类型 。
数据类型,数组的类型' 。
怎样在VB.NET中 , 定义了一个不知大小的一维数组,然后给这个数组添加值使用动态定义
【vb.net声明变长数组 vba 声明数组变量】ReDima()AS **********'定义一个动态数组
...........
计算出第一个Y
ReDima(0)
a(0)=Y
.....................
计算出第二个Y
ReDim Preserve a(1) '再次分配元素并保留原有元素
a(1) =Y
.........................
.........................
ReDim Preserve a(N) '第N次分配元素并保留原有元素
a(N) =Y
VB下怎样定义一个可变长的字符串数组?数组到底应该有多大才合适 , 有时可能不得而知 。所以希望能够在运行时具有改变数组大小的能力 。动态数组就可以在任何时候改变大小 。在 Visual Basic 中,动态数组最灵活、最方便,有助于有效管理内存 。例如,可短时间使用一个大数组 , 然后,在不使用这个数组时,将内存空间释放给系统 。如果不用动态数组,就要声明一个数组,它的大小尽可能达到最大,然后再抹去那些不必要的元素 。但是,如果过度使用这种方法,会导致内存的操作环境变慢 。要创建动态数组,请按照以下步骤执行:(如果希望数组为公用数组 , 则)用 Public 语句声明数组,或者,(如果希望数组为模块级 , 则)在模块级用 Dim 语句声明数组,或者(如果希望数组为局部数组,则)在过程中用 Static 或 Dim 语句声明数组 。给数组附以一个空维数表 , 这样就将数组声明为动态数组 。Dim DynArray ()用 ReDim 语句分配实际的元素个数 。ReDim DynArray (X + 1)ReDim 语句只能出现在过程中 。与 Dim 语句、Static 语句不同,ReDim 语句是一个可执行语句,由于这一语句,应用程序在运行时执行一个操作 。ReDim 语句支持这样的语法,它与固定数组中使用的语法相同 。对于每一维数,每个 ReDim 语句都能改变元素数目以及上下界 。但是,数组的维数不能改变 。ReDim DynArray (4 to 12)例如,用第一次声明在模块级所建立的动态数组 Matrix1:Dim Matrix1 () As Integer然后,在过程中给数组分配空间:ReDim Matrix1 (19, 29)End Sub这里的 ReDim 语句给 Matrix 分配一个 20 × 30 的整数矩阵(元素总大小为 600) 。还有一个办法,用变量设置动态数组的边界:ReDim Matrix1 (X, Y)注意 您可以将字符串赋值给大小可变的字节数组 。一个字节数组也可以被赋值给一个可变长的字符串 。一定要注意字符串中的字节数会随平台而变化 。同一个字符串在 Unicode 平台上的字节数是它在非 Unicode 平台上的两倍 。保留动态数组的内容每次执行 ReDim 语句时,当前存储在数组中的值都会全部丢失 。Visual Basi 重新将数组元素的值置为 Empty(对 Variant 数组)、置为 0(对 Numeric 数组)、置为 零长度字符串(对 String 数组)或者置为 Nothing(对于对象的数组) 。在为新数据准备数组,或者要缩减数组大小以节省内存时,这样做是非常有用的 。有时希望改变数组大小又不丢失数组中的数据 。使用具有 Preserve 关键字的 ReDim 语句就可做到这点 。例如,使用 UBound 函数引用上界,使数组扩大、增加一个元素,而现有元素的值并未丢失:ReDim Preserve DynArray (UBound (DynArray) + 1)在用 Preserve 关键字时,只能改变多维数组中最后一维的上界;如果改变了其它维或最后一维的下界,那么运行时就会出错 。所以可这样编程:ReDim Preserve Matrix (10, UBound (Matrix, 2) + 1)而不可这样编程:

推荐阅读