(由于用得不是很多,所以干脆记下来免得下次用到时又忘了.)
MSDN有个错误是"不能给数组赋值",即不能将整个数组指定给另一个数组.
而实际上有时行,有时又不行,刚刚写代码时又遇到了,干脆试了一下,结果是,"被赋值数组需要是动态数组".
对于类型,源数组与目标数组需要一致,即使是自定义类型也可以.
以下说明一下可以赋值的情况:
[codes=vb]
Private Type MyType
kk(10) As Long
End Type
Dim I() As MyType, J(100) As MyType
I = J 'I是动态数组,成立[/codes]
[codes=vb]
Dim I() As Long, J(100) As Long
I = J 'I是动态数组,成立[/codes]
如果目标数组是固定数组,那么就不能完成赋值,会得到编译器的一个"不能给数组赋值"的编译错误:
[codes=vb]
Dim I(100) As Long, J(100) As Long
I = J '编译错误:不能给数组赋值[/codes]
没有考虑是否有其它情况.
我只需要找到可行的这个方案即可.
以下是MSDN中的错误提示:
引用内容
不能给数组赋值
数组中的各元素,必须个别指定其值。这个错误的起因与解决方法如下所示:
试图将一个值指定给一个数组变量,但没有指定要将这个值指定给哪个元素。
要设置数组中的一个元素,必须指定此元素的下标。例如,若 MyArray 为一个整型数组,则表达式 MyArray = 5 是无效的,下列的表达式才是正确的:
MyArray(UBound(MyArray)) = 5
试图将整个数组指定给另一个数组。例如,假如 Arr1 是一个数组,Arr2 是另一个数组,则下列两个赋值都是无效的:
Arr1 = Arr2 ' 无效的赋值。
Arr1() = Arr2() ' 无效的赋值。
想要将一个数组赋值给另一个数组,必须个别赋值元素。例如:
For count = LBound(Arr2) to UBound(Arr2)
Arr1(count) = Arr2(count)
Next count
请注意,可以将整个数组放在一个 Variant 中,使一个 variant 变量包含整个数组:
Dim MyArr As Variant
MyVar = Arr2()
您可以使用与正常数组相同的下标,来引用在 variant 中的数组元素,例如:
MyVar(3) = MyVar(1) + MyVar(5)
详细信息,请先选取有疑问的项目,然后按下 F1 键 。
原文地址:http://blog.m5home.com/article.asp?id=262
★VB部分相关文章推荐:★
☆VB
☆VB
☆VB 获取汉字拼音的首字母
☆VB 汉字字符串转换成拼音
☆VB判断指定名字的进程是否存在函数
☆VB 两种方法实现热键
☆VB 使用SendMessage枚举文件与目录
☆VB 二进制数组与十六进制字符串相互转换
☆VB 二进制数据读写实例
☆VB 进制转换大全(十进制、十六进制、八进制、二进制、二进制流)互转
☆VB 判断是否文本文件
☆VB 读取UTF-8编码文件函数
☆VB 按指定编码格式写入文本文件
☆VB UTF-8 URL编码函数
☆VB 实现UTF-8 与GB2312互转
☆VB 设置ListView中指定一行的背景颜色
☆VB SendMessage向其他程序窗口发送字符串消息实例
☆VB Listview导出到CSV文件函数
☆vb卸载所有窗体
☆VB中Null, Empty, Nothing, and vbNullString的区别
☆利用API函数计算程序运行时间VB
☆获取快捷方式原文件路径vb路径
☆利用VB函数Dir()实现递归搜索目录
☆VB数组的清除和重新定义
☆用RtlAdjustPrivilege来调整进程权限(VB6.0代码)
☆获取对象的接口信息(方法/属性/事件)(VB6代码)
☆VB6中给数组赋值的限制
☆[vb]一些窗口消息的详解
☆VB直接播放EXE文件中的声音文件
☆VB中利用CopyMemory使用指针
☆VB读写注册表的三种方法
☆[VB]SaveSetting 语句 和 DeleteSetting 语句
☆VB APP对象属性一览表 + 灵活使用VB的APP对象
☆[vb]SendMessageA函数
☆使用VB绘制抛物线动画曲线
☆关于vb中的容器
☆[vb]利用WScript.Shell对象隐藏cmd命令行运行
☆浅析VB For Each.Next语句
☆VB中窗体模块、标准模块、类模块的区别
☆引用 VB类模块
☆VB中什么是类,类模块有什么作用
☆VB SendKeys 语句
☆VB 全局热键
☆用VB轻松调用其他程序
☆vb读取txt文件到textbox
☆如何去优化你的VB程序3
☆如何去优化你的VB程序2
☆如何去优化你的VB程序1
☆[VB]在状态栏中显示帮助信息
☆[VB]把屏幕保存为图像
☆Mp3Play.ocx控件让音乐之声响起来
更多精彩>>>