社区
VB基础类
帖子详情
VB的集合对象(Collection)内的 Item的值为什么不能修改????????
fanziqiang2002
2001-12-16 12:45:27
Public a As New Collection
Public s As Variant
Private Sub Command1_Click()
s = "aaaaaaa"
a.Add s
a.Item(1) = "cccccc" '到了这一步, VB要求对象
End Sub
'VB的集合对象(Collection)内的 Item的值为什么不能修改??????,希望大侠能给于指点
...全文
534
5
打赏
收藏
VB的集合对象(Collection)内的 Item的值为什么不能修改????????
Public a As New Collection Public s As Variant Private Sub Command1_Click() s = "aaaaaaa" a.Add s a.Item(1) = "cccccc" '到了这一步, VB要求对象 End Sub 'VB的集合对象(Collection)内的 Item的值为什么不能修改??????,希望大侠能给于指点
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fanziqiang2002
2001-12-22
打赏
举报
回复
那么又怎样从该集合获得此对象的引用,有现成的方法吗????
junglerover
2001-12-16
打赏
举报
回复
这里其实有较深层次的原因。涉及到VB中的
赋值语句 X=Y
和引用赋值语句 SET X=Y
的区别问题。
我们知道对简单数据类型变量应当使用赋值语句。其实VB中的一个X=Y隐含了许多操作,
包括先对该变量重新分配地址空间,然后填充值的操作。这也正是为什么你在VB中总
可以用一个简单的等于号就对字符串赋值,而在C里却不能这样做的原因。例如你连续
执行:
a="aaa"
a="bbb"
其实第二句之后的变量a地址跟第一句之后的已经毫无关系了。它并非在第一句时分配的
空间上将"aaa",改成"bbb",而是进行了释放原空间、分配新空间、重新填充的连续操作。
VB的集合添加元素时,并非将该元素复制一份,而是添加一个对它的引用。
你可以将每个集合元素理解为一个地址。而该地址一旦被加入集合,地址本身将不可
更改,但其内容可以更改。
因此,你对集合元素使用赋值语句,就是无法执行的了。
而对于对象变量,只有在每次NEW时才新分配空间,因此你将它添加到集合以后,
只要从该集合获得此对象的引用,就可以改变其值。
sxmzmxh
2001-12-16
打赏
举报
回复
可以先删除再增加
sandder
2001-12-16
打赏
举报
回复
不能就是不能!
就像为什么定义变量要用 Dim 这样
Mittermeyer
2001-12-16
打赏
举报
回复
Item是Collection的只读属性,就这么简单。
如果希望修改Item的值,那么只有先删除,在添加一次。
相关推荐
vb
6.0第四课
一、
集合
(
collection
) Dim col as new
collection
1、方法: (1)count:统计
对象
数目。返回
值
为长整型,且在设计和运行时为只读。 (2)add:向
集合
添加一个元素 (3)remove:从
集合
中删除某一个元素 (4)
item
:从
集合
中获取指定的元素 2、控件
集合
(controls
集合
) controls:是窗体上的所有
对象
的统称。controls方法与col...
VB
编程:将文本控件添加到
集合
Collection
中-19
运行效果 程序代码 Dim aaa As
Collection
Private Sub Command1_Click() Dim
item
As Control For Each
item
In aaa
item
.Text = "microsoft" '对
集合
中所有TextBox的Text属性赋
值
Next
item
End...
ActiveX控件的MFC设计之旅-第14步
OLE自动化
集合
类 在
VB
中有下面的这种语法Set docs = Application.DocumentsFor Each doc in docs MsgBox doc.TitleNext在这里docs就是一个
集合
类,
VB
中还专门提供了一个
Collection
对象
,可以组建你自己的
集合
类 当然,
集合
类还有许多特征,一个
集合
类都会有下面的几个方法或属性 Count只读属性
Item
方
Kotlin手记-(7)循环
循环就是多次重复性的执行同一个代码块 for循环 for 循环可以对任何提供迭代器(iterator)的
对象
进行遍历 for (
item
in
collection
) { print(
item
) } //
collection
可以是
集合
、数组、区间
collection
是区间 for (
item
in 1..10) { print(
item
) }
collection
是
集合
var list = listOf<Int&
VB
编程:将文本控件添加到
集合
Collection
中-19_彭世瑜_新浪博客
运行效果 程序代码 Dim aaa As
Collection
Private Sub Command1_Click() Dim
item
As Control For Each
item
In aaa
item
.Text = "microsoft" '对
集合
中所有TextBox的Text属性赋
值
Next
item
End Sub Pr...
发帖
VB基础类
VB基础类
VB 基础类
复制链接
扫一扫
7681
社区成员
19.7w+
社区内容
VB 基础类
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2001-12-16 12:45
社区公告
暂无公告