首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB Collection 对象的一些操作,该如何处理

2012-12-29 
VB Collection 对象的一些操作最近在写程序,在对Collection对象进行操作时遇到个小问题。问题整理后是这样

VB Collection 对象的一些操作
最近在写程序,在对Collection对象进行操作时遇到个小问题。
问题整理后是这样的:
Dim coll As New Collection
coll.Add 1, "60001"
coll.Item("60001") = 4
MsgBox coll.Item("60001")

这个代码的话,执行到coll.Item("60001") = 4这句的时候一直不行,虽然可以通过Remove之后Add来解决,但是
搞不清楚,为什么这样不行啊?

[解决办法]

引用:
最近在写程序,在对Collection对象进行操作时遇到个小问题。
问题整理后是这样的:
Dim coll As New Collection
coll.Add 1, "60001"
coll.Item("60001") = 4
MsgBox coll.Item("60001")

这个代码的话,执行到coll.Item("60001") = 4这句的时候一直不行,虽然可以通过Rem……
Function Item(Index)
    VBA.Collection 的缺省成员
    返回由位置和关键字指定的 Collection 对象的成员

msdn上没说到可以设置值,也就说它只有get方法,没有let方法的。

另外MsgBox coll.Item("60001")和MsgBox coll(1)是一样的效果
[解决办法]
用数组的方式吧:集合相当于链表,查找元素时从集合的头一个开始,顺序向下,访问m_coData(99)要比访问_colData(1)慢得多

此时系统会自动生成Add,Remove,Item属性和Count方法。

  通过定义:Public m_colData As New Collection1 ‘用于保存记录

  调用Collecton1类中的Add方法,即可生成数据结构。

  3、集合与数组的比较

  集合和数组都可用下标来调用,但它们之间存在着区别和联系。

  (1)相同点。它们都是数据元素的有序集,数组可以看作为限制了数据元素个数的集合。

  (2)不同点。①元素的个数不同。数组的大小由创建时决定;集合的大小在创建时并不确定。

  ②访问元素的效率不同:。集合相当于链表,查找元素时从集合的头一个开始,顺序向下,访问m_coData(99)要比访问_colData(1)慢得多;而数组元素在内存中是顺序存放的,访问m_coData(99)和访问m_coData(1)的时间是一样的。

  结束语

  集合是面向对象编程的一个很重要的特点,对于多个具有相同特征的对象可以用集合对象来处理,从而提高编程效率和界面的统一

热点排行