vb.net可变素组 vba定义可变数组

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)而不可这样编程:
vb.net 数组的定义方法1、vb.net的
数组定义与变量定义差不多 。可以用
dim
来定义
比如:
dim
a(100)
as
integer 。
也可以不定义下标
在程序中

redim
来定义 。
如:
dim
a()
as
integer
'
'
redim
a(100)
2、vb.net中定义数组可以直接赋值 。
如:
dim
a()
as
integer
={1,
2,
3,4}
关于VB.net中定义动态数组并赋值的问题你在最后两行之间加一行代码,看看数组的规模大小的结果;
MsgboxUbound(cartnum)
vb.net 怎样创建控件数组?Dim Str(20) As String '20数据元素

推荐阅读