dim:定义一个固定维数的数组,如dim arr(100)。
redim:重新定义动态数组的维数,必须先用dim定义一个动态数组: dim arr(),然后可重新定义:redim arr(2,100)、redim arr(1000)。
在redim使用过程中,如果要保留数组中的数据,需要使用Preserve关键字,如果不加该关键字,会清空原来的数据。
参阅百度百科:
ReDim 为数组变量重新分配存储空间。可选项修饰符 Preserve 当仅更改最后一个维度的大小时,用来保留现有数组中的数据。
使用 ReDim 语句来更改某个已声明数组的一个或多个维度的大小。如果有一个较大的数组,并且您不再需要它的某些元素,ReDim 可通过减小数组大小来释放内存。另一方面,如果代码确定某个数组需要更多元素,ReDim 也可以添加它们。
ReDim 语句仅适用于数组。它在标量(只包含单一值的变量)、集合或结构上是无效的。
仅可以在过程级使用 ReDim。这意味着,变量的“声明上下文”必须是过程,而不能是源文件、命名空间、接口、类、结构、模块或块。
例如:
有一个Byte数组A,如果我们知道这个数组上限最大只能是4,就用Dim
Dim A As Byte(4)
但如果我们不能事先确定它的大小,或者需要在运行时改变它的大小就要用动态数组
Dim A As Byte()
ReDim A(4)'这样改变大小时会清空原来的数据
ReDim Preserve A(4)'这样改变大小时会保留原来的数据

VB中Dim和Redim的区别相关推荐

  1. VB中dim与redim的区别?

    dim:定义一个固定维数的数组,如dim arr(100). redim:重新定义动态数组的维数,必须先用dim定义一个动态数组: dim arr(),然后可重新定义:redim arr(2,100) ...

  2. VB中Byval和byref的区别

    在VB中Byval 和byref怎么区别?简单来说Byval是传值,byref是传地址,ByVal :表示该参数是按值方式传递的.ByRef :表示该参数按引用方式传递.下面绿茶小编为大家详细介绍By ...

  3. dim和redim什么区别

    dim 为定义一个变量 redim为重新定义这个变量,redim一般用于对数组的重新定义.重新定义后会丢失所有数据 ReDim 语句 在过程级中声明动态数组变量并分配或重新分配存储空间. ReDim ...

  4. VB中Byval与Byref的区别。

    1.byval是按值传递的方式,而byref是按地址的传递方式. 2.在程序中x是按值传递,而y是按地址传递,随后我们在程序中进行调用,因为在调用之前已经将z赋值为300,e赋值为400. 3.所以调 ...

  5. VB中If与ElseIf的区别

    Private Sub Form_Click() Sum=0 For k=1 To 3 If k<=1 Then x=1 ElseIf k<=2 Then x=2 ElseIf k< ...

  6. VB中 EOF 和 BOF 的区别

    定义 BOF:指当前记录位置位于Recordset对象的第一个记录之前: EOF:指当前记录位置位于Recordset对象的最后一个记录之后. 这两个的属性值均返回布尔型:True和False,使用B ...

  7. VB中的New 与 CreateObject的区别

    set Dic=New Scripting.Dictionary 与 set Dic=Createobject("Scripting.Dictionary") 是一样的 但是 Se ...

  8. VB中窗体模块、标准模块、类模块的区别

    VB的代码存储在模块中.在VB中提供了三种类型的模块:窗体模块.标准模块和类模块. 简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体.最终可能有几 ...

  9. c语言 long与integer,VB中Integer(整型)和Long(长整型)有什么区别?

    VB中Integer(整型)和Long(长整型)区别区别如下: 1.长度不同. Integer是int的封装类型是 32 位的整数,long 是 64 位的整数,表示范围:-2^63 ~ 2^63 - ...

最新文章

  1. 上古语言从入门到精通:COBOL 教程登上 GitHub 热榜
  2. [CF475E]Strongly Connected City 2
  3. linux 启动流详解
  4. leetcode面试题 10.02. 变位词组
  5. mobaxterm用alt键作为meta键的方法
  6. C++不定长字符串比较合理且简单的解决方法
  7. KNN算法——分类部分
  8. python 包的使用 (二)——pyecharts
  9. ZEMAX | 如何进行序列模式公差分
  10. 【建议收藏】产品经理面试题合集
  11. linux屏幕截图之滚动截屏
  12. 计算机加密win7,Win7系统如何加密电脑硬盘?Win7系统全盘加密方法介绍
  13. wifi6 feature 详解
  14. Python双目相机计算三维坐标(使用opencv自带图片)
  15. 开发人员新常态:和云原生相爱相杀
  16. 微头条快速赚钱变现方法,一天可赚100元
  17. Redis学习之expire命令
  18. 给定经纬度计算距离_根据经纬度计算两点间距离JAVA版
  19. 特殊矩阵(对称矩阵)的压缩存储和解压缩
  20. 【Java】JVM内存回收

热门文章

  1. 层次分析法(AHP)的初步理解(清风建模学习笔记)
  2. ThinkPad X201 笔记本通过硬盘安装 Ubuntu 双系统
  3. 30秒接入一台PLC设备,用Shifu 快速实现工控软件编程
  4. discord验证无法通过_如何通过Discord的“上线”直播
  5. 我读过的最好的epoll讲解--转自知乎
  6. 华为接入交换机基于MAC地址做端口绑定
  7. 使用Fiddle手机抓包、捕获流量数据介绍
  8. 8-Arm PEG-Epoxide,八臂聚乙二醇环氧基,8-Arm-PEG-EP
  9. 4-Arm PEG2000-EP,环氧基修饰的多臂PEG,4-Arm PEG2000-Epoxide
  10. c语言中 int和const int的区别