VB中Dim和Redim的区别
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的区别相关推荐
- VB中dim与redim的区别?
dim:定义一个固定维数的数组,如dim arr(100). redim:重新定义动态数组的维数,必须先用dim定义一个动态数组: dim arr(),然后可重新定义:redim arr(2,100) ...
- VB中Byval和byref的区别
在VB中Byval 和byref怎么区别?简单来说Byval是传值,byref是传地址,ByVal :表示该参数是按值方式传递的.ByRef :表示该参数按引用方式传递.下面绿茶小编为大家详细介绍By ...
- dim和redim什么区别
dim 为定义一个变量 redim为重新定义这个变量,redim一般用于对数组的重新定义.重新定义后会丢失所有数据 ReDim 语句 在过程级中声明动态数组变量并分配或重新分配存储空间. ReDim ...
- VB中Byval与Byref的区别。
1.byval是按值传递的方式,而byref是按地址的传递方式. 2.在程序中x是按值传递,而y是按地址传递,随后我们在程序中进行调用,因为在调用之前已经将z赋值为300,e赋值为400. 3.所以调 ...
- 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< ...
- VB中 EOF 和 BOF 的区别
定义 BOF:指当前记录位置位于Recordset对象的第一个记录之前: EOF:指当前记录位置位于Recordset对象的最后一个记录之后. 这两个的属性值均返回布尔型:True和False,使用B ...
- VB中的New 与 CreateObject的区别
set Dic=New Scripting.Dictionary 与 set Dic=Createobject("Scripting.Dictionary") 是一样的 但是 Se ...
- VB中窗体模块、标准模块、类模块的区别
VB的代码存储在模块中.在VB中提供了三种类型的模块:窗体模块.标准模块和类模块. 简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体.最终可能有几 ...
- c语言 long与integer,VB中Integer(整型)和Long(长整型)有什么区别?
VB中Integer(整型)和Long(长整型)区别区别如下: 1.长度不同. Integer是int的封装类型是 32 位的整数,long 是 64 位的整数,表示范围:-2^63 ~ 2^63 - ...
最新文章
- 上古语言从入门到精通:COBOL 教程登上 GitHub 热榜
- [CF475E]Strongly Connected City 2
- linux 启动流详解
- leetcode面试题 10.02. 变位词组
- mobaxterm用alt键作为meta键的方法
- C++不定长字符串比较合理且简单的解决方法
- KNN算法——分类部分
- python 包的使用 (二)——pyecharts
- ZEMAX | 如何进行序列模式公差分
- 【建议收藏】产品经理面试题合集
- linux屏幕截图之滚动截屏
- 计算机加密win7,Win7系统如何加密电脑硬盘?Win7系统全盘加密方法介绍
- wifi6 feature 详解
- Python双目相机计算三维坐标(使用opencv自带图片)
- 开发人员新常态:和云原生相爱相杀
- 微头条快速赚钱变现方法,一天可赚100元
- Redis学习之expire命令
- 给定经纬度计算距离_根据经纬度计算两点间距离JAVA版
- 特殊矩阵(对称矩阵)的压缩存储和解压缩
- 【Java】JVM内存回收
热门文章
- 层次分析法(AHP)的初步理解(清风建模学习笔记)
- ThinkPad X201 笔记本通过硬盘安装 Ubuntu 双系统
- 30秒接入一台PLC设备,用Shifu 快速实现工控软件编程
- discord验证无法通过_如何通过Discord的“上线”直播
- 我读过的最好的epoll讲解--转自知乎
- 华为接入交换机基于MAC地址做端口绑定
- 使用Fiddle手机抓包、捕获流量数据介绍
- 8-Arm PEG-Epoxide,八臂聚乙二醇环氧基,8-Arm-PEG-EP
- 4-Arm PEG2000-EP,环氧基修饰的多臂PEG,4-Arm PEG2000-Epoxide
- c语言中 int和const int的区别