Visual Basic 中的数组大小

更新:2007 年 11 月

数组的大小是数组的所有维度的长度乘积。它表示数组中当前包含的元素的总数。

下面的示例声明一个三维数组:

Dim prices(3, 4, 5) As Long

变量 prices 中数组的总大小是 (3 + 1) x (4 + 1) x (5 + 1) = 120。

数组大小注意事项

处理数组大小时有几件事情需要注意。

维度长度

每个维度的索引从 0 开始,这意味着索引范围为从 0 到它的上限。因此,给定维度的长度比该维度的声明上限大 1。

长度限制

数组的每个维度的长度最大为 Integer 数据类型的最大值 (2 ^ 31) - 1。但是,数组的总大小还受系统可用内存的限制。如果您试图初始化超出可用 RAM 量的数组,公共语言运行库将引发 OutOfMemoryException 异常。

大小和元素大小

数组的大小与它的元素的数据类型无关。大小始终表示元素的总数,而不是元素所占用的存储字节数。

内存消耗

对数组在内存中的存储方式做任何假定都是不安全的。不同数据宽度的平台上的存储各不相同,因此同一个数组在 64 位系统中占用的内存比在 32 位系统中多。根据初始化数组时系统配置的不同,公共语言运行库 (CLR) 可以分配存储来尽可能紧密地压缩元素,或者在自然的硬件边界上完全对齐元素。另外,数组的控制信息也需要存储开销,而这类开销会随每个增加的维度而增加。

请参见

任务

如何:声明数组变量

如何:创建数组

如何:初始化数组变量

如何:确定数组的大小

如何:更改数组的大小

如何:确定一维数组的长度

数组疑难解答

其他资源

数组 (Visual Basic)