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. visual studio code跳转到定义处插件
  2. Grunt手表错误 - 等待...致命错误:观看ENOSPC
  3. 2463: [中山市选2009]谁能赢呢? Codeforces Round #429 (Div. 2) B. Godsend noip三国游戏...
  4. 台式电脑可以连wifi吗_[Windows] wifi音箱:台式电脑也可以连接蓝牙音箱了
  5. 播放[.m3u8]链接解决方案
  6. Java中关键字及其简要含义
  7. 天平游码读数例题_初二上册物理实验——托盘天平使用的注意事项
  8. Javascript--File对象
  9. linux网络编程中需要注意的信号SIGPIPE
  10. SynchronousQueueE简介
  11. Angular 启动项目时 port 4200 is already in use 解决方法
  12. c++:ISO C++ forbids declaration of ‘xxx’ with no type
  13. gridview分组android,安卓使用GridView实现网格视图
  14. angular js权威指南笔记
  15. 大数据爬虫的一些小目标
  16. 抖音下载android,抖音完整版
  17. 我心中的超短系统之人气、情绪、大局观、仓控
  18. 简单案例:注册登录功能实现
  19. 对于Verilog语言的一些总结
  20. Java获得随机汉字

热门文章

  1. CentOS 安装 nslookup
  2. Codevs 打鼹鼠
  3. 【转】关于软件外包企业如何建立员工归属感的问题
  4. python geany是什么_Geany中怎么配置python?
  5. Facebook-Rebound弹簧效果
  6. Java篇 - 代理模式和动态代理实现原理
  7. LightOJ - Travel Company(Spfa)
  8. Java小农养成记第三十天
  9. 【自然语言处理】1. 细讲:Attention模型的机制原理
  10. 微推圈短视频获客系统添加视频的几种方法