如何间接使用变量

时间:2018-02-21 12:55:10

标签: vb.net

我有这段代码

            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

我明白为什么它不起作用。我不知道如何实现我的目标。

1 个答案:

答案 0 :(得分:0)

我能想到处理你的困境的唯一方法是使用一个Collection(VB.Net有一系列可用的可枚举集合可供选择)然后在你将它添加到集合时创建你的Object。然后,您可以在Collection中管理,使用和重置对象。

VB没有像C *那样的直接指针引用,所以当你创建一个数组或将一个Object添加到Collection时,你实际上是在添加一个副本(而不是对原始对象的引用)。