当前位置:首页 > 内存 > 正文

redim释放内存(dimm插槽用什么内存条)

  • 内存
  • 2024-06-01 18:55:57
  • 2560

一、ReDimPreserve的用途

ReDimPreserve的作用是重新分配数组空间。默认情况下,重新分配空间后,数组的内容将被清除。添加保留后,可以保留空间分配前的原始数据。

redimpreserveearr(1tok)重新定义数组的大小并保留数组中现有的值。

注意:redimpreserve只能扩展数组的最后一维。永远不要这样做:redimpreservearr(1tok,1to2),它应该是这样的:redimpreservearr(1to2,1toK)。

扩展信息:

使用ReDim指令:

每次执行ReDim指令时,当前存储在数组中的所有值都会丢失。

VisualBasi将数组元素的值重置为Empty(对于Variant数组)、0(对于Numeric数组)、零长度字符串(对于String数组)或Nothing(对于对象数组)。

当为新数据准备数组或想要减小数组大小以节省内存时,这非常有用。有时您需要更改数组的大小而不丢失数组中的数据。这可以使用带有Preserve关键字的ReDim语句来完成。

例如,使用UBound函数引用上界,使数组扩大并增加一个元素,但现有元素的值不会丢失:

ReDimPreserveDynArray(UBound(DynArray)+1)

参考来源:

-REDIM

-动态数组



二、dim和redim什么区别

1.其他函数:

DimDim语句声明变量,Dim语句给出变量名称,ReDim为数组变量重新分配存储空间。例如:有一个Byte数组A,如果知道数组的上限只能是4,则使用Dim,DimAsByte(4)。但是,如果无法提前确定大小,或者必须在运行时更改大小,则必须使用动态数组DimAAsByte()、ReDimA(4)。

2.使用场景不同:

ReDim只能在进程级别使用。这意味着变量的“声明上下文”必须是过程,而不是源文件、命名空间、接口、类、结构、模块或块。由于Dim语句中可选的Astype子句,可以定义声明变量的数据类型或对象类型。变量还可以包含来自VisualBasic或其他应用程序的对象。

3在运行时调整数组大小的能力是不同的:

如果代码确定If,redim可以在运行时调整大小。数组需要更多元素,ReDim也可以添加它们。如果无法提前确定数组的大小,或者必须在运行时更改数组的大小,则必须使用Redim动态数组。

参考来源:-VB变量

参考来源:-REDIM


三、redim什么意思?ReDim为数组变量重新分配存储空间。可选的Preserve修饰符用于在仅更改最后一个维度的大小时保留现有数组中的数据。
使用ReDim语句更改已声明数组的一维或多维的大小。如果您有一个较大的数组并且不再需要其中的某些元素,ReDim可以通过减小数组的大小来释放内存。另一方面,如果代码确定数组需要更多元素,ReDim也可以添加它们。
ReDim指令仅适用于数组。它对标量(包含单个值的变量)、集合或结构无效。
ReDim只能在进程级别使用。这意味着变量的“声明上下文”必须是过程,而不是源文件、命名空间、接口、类、结构、模块或块。