我有这段代码
Dim var1 As Object = someObject
Dim var2 As Object = anotherObject
Dim ArrayOfObjects As Object() = {var1, var2}
'"thing" is set to nothing, but I want var1 and var2 set to nothing
For Each thing In ArrayOfObjects
thing = Nothing
Next thing
我的期望:
我希望它会导致
var1=Nothing
var2=Nothing
我希望它在for ... next语句中完成,因为在一般情况下,ArrayOfObjects包含可变数量的对象,因此我无法对其名称进行硬编码。
我得到了什么:
"Thing" variable is set to nothing
var1 = someObject
var2= anotherObject
我明白为什么它不起作用。我不知道如何实现我的目标。
答案 0 :(得分:0)
我能想到处理你的困境的唯一方法是使用一个Collection(VB.Net有一系列可用的可枚举集合可供选择)然后在你将它添加到集合时创建你的Object。然后,您可以在Collection中管理,使用和重置对象。
VB没有像C *那样的直接指针引用,所以当你创建一个数组或将一个Object添加到Collection时,你实际上是在添加一个副本(而不是对原始对象的引用)。