VBS_System.Collections.ArrayList对象详解

本文详细介绍了VBScript中System.Collections.ArrayList对象的使用方法,包括创建动态数组、属性、方法及示例代码,展示了如何添加、删除元素,进行排序等操作。

VBScript对象System.Collections.ArraylIst的详解

对象System.Collections.ArrayList主要是用来创建动态数组的

一、创建动态数组

dim DynamicArray: Set DynamicArray=CreateObject("System.Collections.ArrayList")

VBS中将多条语句合并写在一行,可以使用‘:’号连接,在上面的语句中,表示的是将变量的声明和对象的创建的代码放在一行,为了防止产生冲突,减少代码量,使代码看起来更简洁,所以要使用冒号来连接

二、属性

  • Count

    动态数组名.Count表示的是动态数组中元素的个数

  • Capacity

    动态数组名.Capacity表示的是动态数组中元素的容量

三、方法

方法介绍使用
Item根据数组的索引输出对应的元素的值动态数组名.Item(索引)
Add向动态数组中添加元素动态数组名.Add(元素)
Remove通过元素的值来删除动态数组中对应的元素动态数组名.Remove(元素)
removeAt通过索引来删除动态数组中对应的元素动态数组名.removeAt(索引)
Insert向动态数组中的指定的索引位置插入某个元素动态数组名.Insert(索引,元素)
Sort对动态数组中的元素进行排序动态数组名.Sort
Clear清空动态数组中的元素动态数组名.Clear

四、示例代码

Option Explicit
' 创建一个动态数组arr
dim arr: Set arr=CreateObject("System.Collections.ArrayList")
' 为动态数组arr添加元素
arr.Add "Elements1"
arr.Add "Elements2"
arr.Add "Elements3"
' 使用动态提供的属性Count和Capacity分别打印出数组的元素个数和总容量
msgbox "动态数组arr的元素个数为:"+arr.Count
msgbox "动态数组arr的总容量为:"&arr.Capacity
' 创建一个子进程用来遍历数组中的元素
sub printarr
dim temp,arrlist
for temp=0 to arr.Count-1
    arrlist=arrlist&arr.Item(temp)&vbCrlf
next
msgbox arrlist
end sub

printarr
' 对数组中的元素进行排序
arr.Sort
printarr
' 删除数组中的某个元素
arr.Remove "Elements1"
rem arr.removeAt(0)
printarr

arr.Clear
printarr

五、其他知识

在上述示例代码中的动态数组添加元素的方法可以使用类似于链式编程的方法来进行编写,如下所示

Set arr=CreateObject("System.Collections.ArrayList")
With arr
    .Add "Elements1"
    .Add "Elements2"
    .Add "Elements3"
    .Add "Elements4"
End With
...

可以用With...End With语句来进行链式同类方法编写的链式效应

在使用 `CreateObject("System.Collections.ArrayList")` 时出现报错,可能由多种原因导致,以下是一些常见问题及对应的解决办法: ### 系统组件缺失 `System.Collections.ArrayList` 依赖于系统的相关组件,如果这些组件缺失或损坏,会导致创建对象失败。可以通过注册相关组件来解决。在命令提示符中以管理员身份运行以下命令: ```batch regsvr32 mscorlib.tlb ``` 这会注册 `mscorlib.tlb` 组件,该组件包含了 `System.Collections.ArrayList` 所需的一些基础功能。 ### 权限不足 如果当前用户没有足够的权限来创建对象,也会引发报错。可尝试以管理员身份运行脚本,具体操作是右键点击脚本文件,选择“以管理员身份运行”。 ### 环境不支持 某些较旧的系统环境可能不支持 `System.Collections.ArrayList`。可以检查系统版本,确保其支持该对象。若系统版本过旧,考虑升级系统或者使用其他替代方案,如 VBScript 中的数组。以下是 VBScript 中使用数组的示例: ```vbscript Dim arr() ReDim arr(3) arr(0) = "Element1" arr(1) = "Element2" arr(2) = "Element3" arr(3) = "Element4" ``` ### .NET 框架问题 `System.Collections.ArrayList` 是 .NET 框架中的对象,如果 .NET 框架安装不完整或损坏,会影响对象的创建。可以尝试重新安装或修复 .NET 框架。在控制面板中找到“程序和功能”,选择 .NET 框架,然后进行修复或卸载后重新安装。 ### 代码语法错误 确保代码中没有语法错误,例如拼写错误、标点符号错误等。可以仔细检查代码,或者使用调试工具来排查问题。以下是一个正确的创建 `System.Collections.ArrayList` 并添加元素的示例: ```vbscript Set arr = CreateObject("System.Collections.ArrayList") With arr .Add "Elements1" .Add "Elements2" .Add "Elements3" .Add "Elements4" End With ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值