如何:添加、删除和检索集合中的项 (Visual Basic)
Visual Basic Collection 类包含使您得以添加、删除和检索项的内置功能。
您可能希望将新创建或新获取的项(如新客户)立即添加到集合中。
您可能希望从集合中删除某个不再属于该集合的项,例如当某个员工离开公司时。
您可能希望从集合中检索某个项以编辑其内容,例如更改学生的电话号码。
提示
当您添加和删除元素时,Collection 对象会自动更新其数字索引号。 因此,给定元素的数字索引可能会经常更改。 所以,不要在程序中保存数值索引值,也不要期望它以后检索同一元素。 使用键可以实现此目的。
将项添加到集合
使用 Add 方法,并按项的 Key 指定项。
object.Add(Item, Key [, {Before | After}])
例如,若要使用工作指令的 ID 属性作为键向工作指令集合添加工作指令对象,可以进行下面的调用。
workOrders.Add(woNew, woNew.ID)
上面的调用假定 ID 属性是一个字符串。 如果该属性是一个数字(例如,一个 Long 整数),则使用该属性的 ToString 方法将其转换为 Key 参数所需的 String 值。
workOrders.Add(woNew, woNew.ID.ToString())
键的使用是可选的。 如果不希望集合中的对象具有关联的键,在添加时可以不使用键。
workOrders.Add(woNew)
可以使用可选的 Before 和 After 参数维护排序的对象集合。 要添加的项分别放在集合中 Before 或 After 参数所标识的项之前或之后。 例如,将 Before 设置为 1 会在集合的开头插入一个项,因为 Collection 对象是从 1 开始的。
workOrders.Add(woNew, woNew.ID, 1)
同样,After 参数将项添加到指定的索引之后。 下面的示例将项添加为第三个元素。
workOrders.Add(woNew, woNew.ID,,2)
可以为 Before 或 After 这两者之一指定值,但不能同时为两者指定。
从集合中删除项
使用 Remove 方法,并按项的 Index 或 Key 指定项。
object.Remove({Index | Key})
Index 参数是要删除的项的位置。 Key 参数就是您用来向集合添加项的字符串。 如果集合中第三个元素的键是“W017493”,则可以使用下面这两个语句之一删除它。
workOrders.Remove(3) workOrders.Remove("W017493")
从集合中删除所有项
使用 Clear 方法。
object.Clear()
Clear 方法可清空集合。
从集合中检索项
使用 Item 属性,并按项的 Index 或 Key 指定项。
variable = object.Item({Index | Key})
如同 Remove 方法一样,Index 参数是项在集合中的位置,Key 参数是添加该项时使用的字符串。 使用用于 Remove 方法的示例,下面这些语句中的任意一个都会检索集合中的第三个元素。
woCurrent = workOrders.Item(3) woCurrent = workOrders.Item("W017493")
提示
如果使用数字作为键,则必须先使用这些数字的 ToString 方法将其转换为字符串,然后才能将其传递给 Add 或 Remove 方法,或传递给 Item 属性。 Visual Basic Collection 对象始终假定数字是索引,而不是键字符串。
如果您在编译时知道键,则可以使用字典访问运算符 (!) 对集合的元素进行访问,而无需将键放在引号或括号内。 上面的调用可以按如下方式编写。
woCurrent = workOrders!W017493