数组是一种复杂数据类型,不但有数组本身的数据类型: 数组,还有数组元素中存储的数据的类型。
一、vbs中的数组类型
在VBS中提供了两种数组类型,一种是固定数组,一种是动态数组。
1、固定数组
就是在定义的时候数组的大小固定了,也就是说一旦定义了固定的数组,那么数组能存储多少的数据就
不能改变了。
2、动态数组
就是在定义的时候并不指定数组的大小,在运行的时候动态的指定数组的大小,这样就能根据实际情况
设定数组的大小了。
二、实例
' vbs 中的数组 'vbs中数组具有自己的特点 '1、vbs中支持一维、二维和多位数组,最多能有60维 '2、vbs中具有和C语言数组一样的下标规范,都是从下标0开始 '3、vbs的下标比每一维的长度小1,这个比较多 '4、vbs可以定义动态数组,即数组的维数和每一维的 '定义一个一维数组 Dim nArrTest(2) nArrTest(0) = 1 nArrTest(1) = 2 nArrTest(2) = 3 MsgBox nArrTest(0) + nArrTest(1) + nArrTest(2) '定义维数固定的数组 '定义一个 3行 2列的数组 Dim strArrPhoneList(3,2) strArrPhoneList(0,0) = "Lily" strArrPhoneList(0,1) = "001" strArrPhoneList(0,2) = "138001" strArrPhoneList(1,0) = "Mike" strArrPhoneList(1,1) = "002" strArrPhoneList(1,2) = "138002" strArrPhoneList(2,0) = "Jack" strArrPhoneList(2,1) = "003" strArrPhoneList(2,2) = "138003" strArrPhoneList(3,0) = "Jone" strArrPhoneList(3,1) = "004" strArrPhoneList(3,2) = "138004" '这个地方有一个常数 vbCrLf 就是换行符号 '还会回到行头home位置 Dim strInformation strInformation = "名字 学号 电话号码" & vbCrLf '循环遍历数组 '对于固定的数组利用for循环是最好的遍历方式 Dim nRow Dim nColumn For nRow = 0 To 3 For nColumn = 0 To 2 strInformation = strInformation & strArrPhoneList(nRow,nColumn)_ &" " Next strInformation = strInformation & vbCrLf Next '显示信息 MsgBox strInformation MsgBox "数组一维的上界为: " & UBound(strArrPhoneList) MsgBox "数组二维的上界为: " & UBound(strArrPhoneList,2) '定义动态数组 '输入一组数据 Dim nArrSum() Dim nArrayLen Dim nInput nArrayLen = 0 Do '这个地方利用了一个关键字, preserve 用来在改变动态数组的维度时 '保持原数组的数据不变 ReDim Preserve nArrSum(nArrayLen) nInput = InputBox("请输入数值,输入 end 结束输入:","输入数据","0") If IsNumeric(nInput) Then nArrSum(nArrayLen) =nInput nArrLen = nArrayLen + 1 Else '这个地方需要注意,如果利用上面的方法输入要注意循环的次数 ReDim Preserve nArrSum(nArrLen - 1) nArrayLen = nArrayLen - 1 End If Loop While IsNumeric(nInput) Dim nLoop For nLoop = 0 To nArrayLen MsgBox nArrSum(nLoop) Next '要注意函数ubound对于一维数组的返回值一直是0,也就是说 '这个函数主要针对多维数组才有意义 MsgBox "动态数组的一维的上界为: " & UBound(nArrSum) '数组的清除 'vbs中提供了一项方便的功能来清除数组 'Erase语句 Erase nArrSum '下面的语句不能执行应为 'MsgBox "通过Erase语句清除动态数组后的维数为: " & UBound(nArrSum,1)
三、Tips
数组的应用主要要注意数组的下标的下界和上届,对于动态数组,需要注意。Ubound函数的限制也需要
注意。
--------------------------------------------------------------分割线---------------------------------------------------------------
1、文章均为个人原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/
2、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料
3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏
4、或者在页面右下角点推荐哟!!!
--------------------------------------------------------------分割线---------------------------------------------------------------